ここで、本発明は多くの異なる形態で実施可能である。したがって、下記の実施形態の記載内容のみで解釈すべきではない。また、実施形態の全体を通して同じ要素には同じ符号を付けている。
実施形態では、主にシステムについて説明するが、いわゆる当業者であれば明らかな通り、本発明はコンピュータで使用可能なプログラム、方法としても実施できる。また、本発明は、ハードウェア、ソフトウェア、又は、ソフトウェア及びハードウェアの実施形態で実施可能である。プログラムは、ハードディスク、CD−ROM、DVD−ROM、光記憶装置又は磁気記憶装置等の任意のコンピュータ可読媒体に記録できる。さらに、プログラムはネットワークを介した他のコンピュータに記録することができる。
(本発明の第1の実施形態)
図1において、秘密通信システム100は、後述する端末装置10と中継装置20と端末装置10及び/又は中継装置20間を接続するケーブル等の伝送路30とを有するイーサネット網における、複数の端末装置10間で秘密通信を可能にするものである。
なお、図1においては、6台の端末装置10と2台の中継装置20とを配置した秘密通信システム100を図示しているが、本発明に係る端末装置10及び中継装置20に対応していれば、この台数及び配置の端末装置10及び中継装置20に限られるものではない。また、中継装置20は、複数の方路(ポート)を有するスイッチング装置であり、図1においては、4つのポートを有する中継装置20を図示しているが、このポート数に限られるものではない。
端末装置10及び中継装置20は、LANカード等のネットワーク機器を内蔵している。このネットワーク機器には、ハードウェア固有の物理アドレスであるMAC(Media Access Control)アドレスが割り当てられており、このMACアドレスを元に、端末装置10及び/又は中継装置20間のパケットの送受信が行なわれる。
まず、端末装置10について、図2を用いて説明する。
端末装置10は、本発明の特徴部分である主要な内部構成として、後述するデータ入出力部1、パケット生成部2、秘密通信用パケット管理部3、パケット生成制御部4及びパケット送受信部5を少なくとも備えている。
データ入出力部1は、端末装置10の操作者(以下、ユーザーと称す)からの指示内容(例えば、秘密通信の設定(ON)又は解除(OFF))及びデータの入出力や、他の端末装置10との秘密通信が可能な状態にあるかをユーザーに通知するための手段である。特に、入力部としては、ユーザーからの指示内容を入力するためのマウスやキーボード等や、端末装置10にデータを入力するためのCD−ROM、DVD−ROM、光記憶装置又は磁気記憶装置等に記録した任意のコンピュータ可読媒体等が挙げられる。また、出力部としては、他の端末装置10との秘密通信が可能な状態にあるかをユーザーに通知するために、ユーザーの視覚に訴えるディスプレイ等やユーザーの聴覚に訴えるスピーカー等が挙げられる。
パケット生成部2は、データ入出力部1からの指示(秘密通信の設定)をトリガとして、複数の端末装置10間における秘密通信の開始を他の端末装置10に要求することを示す情報を含むパケット(以下、開始要求用パケットと称す)を生成する。また、パケット生成部2は、他の端末装置10からの秘密通信の開始要求に合意して当該他の端末装置10に応答することを示す情報を含むパケット(以下、合意応答用パケットと称す)を生成する。
ここで、イーサネット網を伝送する通常のパケット(MACフレーム)は、図3(b)に示すように、宛先アドレス(Destination Address:DA)、送信元アドレス(Source Address:SA)、タイプ、データ及び誤り検査(Frame check sequence:FCS)の領域からなる。
なお、データの領域は、バイト単位(8ビットの倍数)にならない場合に、データ領域の最後に「0」を付加してデータ長(46バイト〜1500バイト)を調整する。すなわち、データ領域は、データ本体の領域と、パケット長を少なくとも64バイトにするためのパディング(通常、全ての値が「0」)の領域とからなる。
これに対し、本発明において新たに定義する開始要求用パケットは、図3(c)に示すように、通常のパケットの構造を変形したものであり、秘密通信に関連するパケットであることを示す情報(例えば、タイプ値「D000」)を、タイプの領域に記憶している。また、開始要求用パケットは、データ本体の領域を、秘密通信におけるパケットの種別(ここでは、開始要求用パケット)を示す情報(例えば、パラメータ値「0001」)を記憶するパラメータと、全ての値を「0」とする制御データとに領域分けされる。なお、タイプ値及びパラメータ値は、パケットの属性を示す情報(以下、属性情報と称す)である。
また、本発明において新たに定義する合意応答用パケットは、図4(a)に示すように、通常のパケットの構造を変形したものであり、秘密通信に関連するパケットであることを示す情報(例えば、タイプ値「D000」)を、タイプの領域に記憶している。
また、合意応答用パケットは、データ本体の領域を、秘密通信におけるパケットの種別(合意応答用パケット)を示す情報(例えば、パラメータ値「0002」)を記憶するパラメータと、データ長を調整する固定コード(特に指定はなく、例えば、「55aa」)とに領域分けされる。また、合意応答用パケットは、データ本体の領域を、合意応答用パケットの送信元である端末装置10のMACアドレスと、当該端末装置10が開始要求用パケットによる秘密通信の開始要求に対して合意したか否かを示す情報を記憶する領域とに領域分けされる。なお、合意したか否かを示す情報(以下、合意情報と称す)としては、例えば、合意した場合に、1ビットの値「1」とし、合意しない(却下する)場合に、1ビットの値「0」として記憶する。
また、合意応答用パケットは、送信元及び送信先間の中継装置20で転送される度に、当該中継装置20のMACアドレスと、当該中継装置20における宛先アドレスに対応するポート情報の学習状態を示す情報とが、データ本体の領域に付加されていく。
なお、ポート情報とは、中継装置20におけるパケットを受信したポートを示す情報であり、中継装置20におけるパケットを送信したポートを示す情報でもある。また、学習状態を示す情報(以下、学習状態情報と称す)としては、例えば、学習済みの場合に、1ビットの値「1」とし、未学習の場合に、1ビットの値「0」として記憶する。
秘密通信用パケット管理部3は、複数の端末装置10間における秘密通信の秘密情報をカプセル化して後述の秘密通信用パケットを生成すると共に、他の端末装置10からの秘密通信用パケットに対してデカプセル化して秘密情報を取り出す。
本発明において新たに定義する秘密通信用パケットは、図3(d)に示すように、通常のパケットの構造を変形したものであり、秘密通信に関連するパケットであることを示す情報(例えば、タイプ値「D000」)を、タイプの領域に記憶している。また、秘密通信用パケットは、データ本体の領域を、秘密通信におけるパケットの種別(ここでは、秘密通信用パケット)を示す情報(例えば、パラメータ値「0004」)を記憶するパラメータと、秘密情報を記憶する実データとに領域分けされる。
パケット生成制御部4は、秘密通信用パケットが破棄されたことを示す情報(以下、破棄情報と称す)を含むパケット(以下、破棄通知用パケットと称す)が入力される。この場合に、パケット生成制御部4は、パケット生成部2に対して、開始要求用パケットを生成するように指示信号を出力すると共に、データ入出力部1を介して、他の端末装置10との秘密通信が不可能である(パケットが破棄された)ことをユーザー側に通知する。
ここで、本発明において新たに定義する破棄通知用パケットは、図3(e)に示すように、通常のパケットの構造を変形したものであり、秘密通信に関連するパケットであることを示す情報(例えば、タイプ値「D000」)を、タイプの領域に記憶している。
また、破棄通知用パケットは、データ本体の領域を、秘密通信におけるパケットの種別(破棄通知用パケット)を示す情報(例えば、パラメータ値「0003」)を記憶するパラメータと、データ長を調整する固定コード(特に指定はなく、例えば、「55aa」)とに領域分けされる。また、破棄通知用パケットは、データ本体の領域を、秘密通信用パケットを破棄した中継装置20のMACアドレスと、秘密通信用パケットが破棄されたことを示す情報(例えば、1ビットの値「0」)とを記憶する領域に領域分けされる。なお、この破棄通知用パケットは、後述する中継装置20により生成されるパケットである。
また、パケット生成制御部4は、他の端末装置10からの合意応答用パケットに含まれる各中継装置20における当該合意応答用パケットの送信先に対応するポート情報の学習状態情報に未学習が存在することを示す情報を含む当該合意応答用パケットが入力される。この場合に、パケット生成制御部4は、パケット生成部2に対して、開始要求用パケットを生成するように指示信号を出力すると共に、データ入出力部1を介して、他の端末装置10との秘密通信が不可能(未学習あり)であることをユーザー側に通知する。
また、パケット生成制御部4は、他の端末装置10からの合意応答用パケットに含まれる各中継装置20における当該合意応答用パケットの送信先に対応するポート情報の学習状態情報に全て学習済みであることを示す情報を含む当該合意応答用パケットが入力される。この場合に、パケット生成制御部4は、秘密通信用パケット管理部3に対して、秘密情報をカプセル化して秘密通信用パケットを生成するように指示信号を出力し、データ入出力部1を介して、他の端末装置10との秘密通信が可能であることをユーザー側に通知する。
さらに、パケット生成制御部4は、他の端末装置10からの開始要求用パケットが入力された場合に、データ入出力部1を介して、他の端末装置10から秘密通信の要求があることをユーザー側に通知する。
なお、パケット生成制御部4は、他の端末装置10に開始要求用パケットを送信してから所定の時間が経過しても、合意応答用パケット又は破棄通知用パケットが入力されない場合に、パケット生成部2に対して、開始要求用パケットを生成するように指示信号を出力する。また、パケット生成制御部4は、他の端末装置10に開始要求用パケットを再送信し続け、所定の回数の再送信に対しても、合意応答用パケット又は破棄通知用パケットが入力されない場合に、パケット生成部2に対する指示信号の出力を停止する。そして、パケット生成制御部4は、データ入出力部1を介して、他の端末装置10との秘密通信が不可能である(合意応答がない)ことをユーザー側に通知する。
パケット送受信部5は、パケット生成部2から入力される開始要求用パケット及び合意応答用パケットを、他の端末装置10に向けて伝送路30に送信する。また、パケット送受信部5は、秘密通信用パケット管理部3から入力される秘密通信用パケット及び通常のパケットを、他の端末装置10に向けて伝送路30に送信する。
さらに、パケット送受信部5は、伝送路30から受信する破棄通知用パケット、開始要求用パケット及び合意応答用パケットを、パケット生成制御部4に出力する。また、パケット送受信部5は、伝送路30から受信する秘密通信用パケット及び通常のパケットを、秘密通信用パケット管理部3に出力する。
つぎに、複数の端末装置10間のパケット通信における、端末装置10の各構成要素の動作について説明する。なお、以下の説明においては、複数の端末装置10間のパケット通信として、図1に示す第1の端末装置10aと第2の端末装置10bとの間のパケット通信を例に挙げて説明する。
まず、複数の端末装置10間における秘密通信の開始を、一の端末装置10である第1の端末装置10aから他の端末装置10である第2の端末装置10bに要求する場合について説明する。
第1の端末装置10aのデータ入出力部1は、ユーザーからの指示内容(秘密通信の設定)を、パケット生成部2に出力する。
そして、パケット生成部2は、データ入出力部1からの入力をトリガとして、開始要求用パケットを生成し、当該開始要求用パケットをパケット送受信部5に出力する。
この場合に、開始要求用パケットは、図3(c)に示すように、宛先アドレス(DA)を「第2の端末装置10bのMACアドレス」とし、送信元アドレス(SA)を「第1の端末装置10aのMACアドレス」とし、タイプ値を「D000」とする。また、開始要求用パケットは、パラメータ値を「0001」とし、制御データとして全ての値を「0」とし、パディングとして全ての値を「0」とし、4バイトのFCSが付加される。
パケット送受信部5は、開始要求用パケットの宛先アドレス(DA)に基づき、送信先である第2の端末装置10bに向けて、開始要求用パケットを伝送路30に送出する。
つぎに、第1の端末装置10aが、中継装置20からの破棄通知用パケットを受信した場合について説明する。
第1の端末装置10aのパケット送受信部5は、伝送路30からの破棄通知用パケットを受信すると、当該パケットの属性情報(タイプ値、パラメータ値)に基づき、当該パケットが破棄通知用パケットであることを認識する。そして、パケット送受信部5は、破棄通知用パケットをパケット生成制御部4に出力する。
パケット生成制御部4は、破棄通知用パケットの属性情報に基づき、当該パケットが破棄通知用パケットであることを認識し、パケット生成部2に対して、開始要求用パケットを生成するように指示信号を出力する。また、パケット生成制御部4は、データ入出力部1を介して、他の端末装置10との秘密通信が不可能である(パケットが破棄された)ことをユーザー側に通知する。
そして、パケット生成部2は、開始要求用パケットを生成し、当該開始要求用パケットをパケット送受信部5に出力する。
パケット送受信部5は、開始要求用パケットの宛先アドレス(DA)に基づき、送信先である第2の端末装置10bに向けて、開始要求用パケットを伝送路30に送出する。
つぎに、第2の端末装置10bが、第1の端末装置10aからの開始要求用パケットを受信した場合について説明する。
第2の端末装置10bのパケット送受信部5は、伝送路30からの開始要求用パケットを受信すると、当該パケットの属性情報(タイプ値、パラメータ値)に基づき、当該パケットが開始要求用パケットであることを認識する。そして、パケット送受信部5は、開始要求用パケットをパケット生成制御部4に出力する。
パケット生成制御部4は、開始要求用パケットの属性情報に基づき、当該パケットが開始要求用パケットであることを認識し、データ入出力部1を介して、他の端末装置10から秘密通信の要求があることをユーザー側に通知する。
データ入出力部1は、ユーザーからの指示内容(秘密通信の開始要求に対する合意又は却下)を、パケット生成部2に出力する。
そして、パケット生成部2は、データ入出力部1からの入力をトリガとして、合意応答用パケットを生成し、当該合意応答用パケットをパケット送受信部5に出力する。
この場合に、合意応答用パケットは、図4(a)に示すように、宛先アドレス(DA)を「第1の端末装置10aのMACアドレス」とし、送信元アドレス(SA)を「第2の端末装置10bのMACアドレス」とし、タイプ値を「D000」とする。また、合意応答用パケットは、パラメータ値を「0002」とし、送信元の端末装置10のMACアドレスを「第2の端末装置10bのMACアドレス」とし、合意情報を「0」又は「1」とし、固定コードを「55aa」とし、パディングとして全ての値を「0」とする。また、合意応答用パケットは、4バイトのFCSが付加される。
パケット送受信部5は、合意応答用パケットの宛先アドレス(DA)に基づき、送信先である第1の端末装置10aに向けて、合意応答用パケットを伝送路30に送出する。
つぎに、第1の端末装置10aが、第2の端末装置10bから送信される合意応答用パケットを受信した場合について説明する。
第1の端末装置10aのパケット送受信部5は、伝送路30からの合意応答用パケットを受信すると、当該パケットの属性情報(タイプ値、パラメータ値)に基づき、当該パケットが合意応答用パケットであることを認識する。そして、パケット送受信部5は、合意応答用パケットをパケット生成制御部4に出力する。
パケット生成制御部4は、合意応答用パケットの属性情報に基づき、当該パケットが合意応答用パケットであることを認識し、合意応答用パケットのデータ本体の領域に記録された学習状態情報に未学習が存在するか否かを判断する。
また、パケット生成制御部4は、学習状態情報に未学習が存在する場合に、パケット生成部2に対して、開始要求用パケットを生成するように指示信号を出力する。また、パケット生成制御部4は、データ入出力部1を介して、他の端末装置10との秘密通信が不可能(未学習あり)であることをユーザー側に通知する。
そして、パケット生成部2は、再度、開始要求用パケットを生成し、当該開始要求用パケットをパケット送受信部5に出力する。
また、パケット生成制御部4は、学習状態情報に未学習が存在しない場合に、秘密通信用パケット管理部3に対して、秘密情報をカプセル化して秘密通信用パケットを生成するように指示信号を出力する。また、パケット生成制御部4は、データ入出力部1を介して、他の端末装置10との秘密通信が可能であることをユーザー側に通知する。
そして、秘密通信用パケット管理部3は、秘密通信用パケットを生成し、当該秘密通信用パケットをパケット送受信部5に出力する。
パケット送受信部5は、開始要求用パケット又は秘密通信用パケットの宛先アドレス(DA)に基づき、送信先である第2の端末装置10bに向けて、開始要求用パケット又は秘密通信用パケットを伝送路30に送出する。
なお、第1の端末装置10aが、第2の端末装置10bに通常のパケットを送信する場合における、第1の端末装置10aの各構成要素による動作については、既存の端末装置と同様である。すなわち、ユーザー側からの送信データは、データ入出力部1、秘密通信用パケット管理部3及びパケット送受信部5を介して、伝送路30に送出される。
また、第1の端末装置10aが、第2の端末装置10bから送信される通常のパケット及び秘密通信用パケットを受信した場合における、第1の端末装置10aの各構成要素による動作についても、既存の端末装置と同様である。すなわち、伝送路30からの通常のパケットは、パケット送受信部5、秘密通信用パケット管理部3及びデータ入出力部1を介して、受信データとしてユーザー側に出力される。また、伝送路30からの秘密通信用パケットは、パケット送受信部5を介し、秘密通信用パケット管理部3でデカプセル化され、データ入出力部1を介して、受信データとしてユーザー側に出力される。
つぎに、中継装置20について、図5及び図6を用いて説明する。
中継装置20は、後述するMUX部21、DA/SA抽出部22、学習テーブル格納部23、学習状態判定部24、パケット識別部25、パケット破棄判定処理部26、パケット生成部27及びDMUX部28を少なくとも備えている。
MUX部21は、複数の方路からの入力をまとめると共に、図7(a)に示すように、パケット(MACフレーム)の先頭に、入力ポート情報を付加したヘッダ領域を追加する機能を有するマルチプレクサである。なお、入力ポート情報を付加したヘッダ領域を追加することは、中継装置20において、パケットを受信したポートをMUX部21の後段のブロックで判別できるようにするためである。
DA/SA抽出部22は、MUX部21から入力されたパケットに含まれる宛先アドレス(DA)、送信元アドレス(SA)及び入力ポート情報を抽出し、学習状態判定部24に出力する。
学習テーブル格納部23は、送信元のアドレスを示すアドレス情報(MACアドレス)と当該送信元からのパケットを受信したポートを示すポート情報とを対応付けて有するアドレス学習テーブルを格納する。なお、本実施形態に係るアドレス学習テーブルには、図7(b)に示すように、MACアドレスとポート情報とが対応付けて登録(エントリ)され、エントリ番号毎に学習状態情報の有効性(有効又は無効)が設定される。
学習状態判定部24は、DA/SA抽出部22から入力された宛先アドレスに基づき、当該宛先アドレスであるMACアドレスに対応するポート情報がアドレス学習テーブルに存在するか否かを判定する。また、学習状態判定部24は、対応するポート情報がアドレス学習テーブルに存在する場合に、当該ポート情報がDA/SA抽出部22から入力されたパケットの入力ポート情報に一致するか(自ポートであるか)否かを判定する。
さらに、学習状態判定部24は、対応するポート情報がアドレス学習テーブルに存在する場合であり、かつ、自ポートではない場合に、当該ポート情報を出力ポート情報として、パケット破棄判定処理部26及びDMUX部28に出力する。また、学習状態判定部24は、学習状態情報をパケット生成部27に出力する。
また、学習状態判定部24は、DA/SA抽出部22から入力される送信元アドレス(SA)と入力ポート情報との組み合わせが、アドレス学習テーブルに存在しない場合に、送信元アドレスであるMACアドレスと入力ポート情報であるポート情報とを対応付ける。そして、学習状態判定部24は、対応付けたMACアドレスとポート情報とを、新規のエントリ番号としてアドレス学習テーブルに登録する。
パケット識別部25は、DA/SA抽出部22から入力されたパケットに含まれるパケットの属性情報に基づき、当該パケットの種別を識別し、識別したパケットの種別に応じて、パケット破棄判定処理部26並びにパケット生成部27に、識別信号及びパケットを出力する。なお、パケット識別部25は、図6に示すように、タイプ値に基づき、秘密通信に関連するパケットであるか否かを識別するタイプ値識別部25aと、パラメータ値に基づき、パケットの種別を識別するパラメータ値識別部25bとを有している。
パケット破棄判定処理部26は、対応するポート情報がアドレス学習テーブルに存在しない場合であり、かつ、パケットが秘密通信用パケットである場合に、当該パケットを破棄する。なお、パケット破棄判定処理部26は、対応するポート情報がアドレス学習テーブルに存在しない場合であり、かつ、パケットが秘密通信用パケットである場合であるか否かを判定する秘密通信用パケット破棄判定部26aを有する。また、パケット破棄判定処理部26は、秘密通信用パケット破棄判定部26aからのパケット破棄の指示信号に基づき、秘密通信用パケットを破棄する秘密通信用パケット破棄処理部26bを有している。
パケット生成部27は、秘密通信用パケット破棄処理部26bにより秘密通信用パケットが破棄された場合に、当該パケットの送信元を送信先とする、破棄通知用パケットを生成する破棄通知用パケット生成部27aを有する。また、パケット生成部27は、合意応答用パケットを受信した場合に、当該合意応答用パケットの送信先に対応するポート情報の学習状態情報を、当該合意応答用パケットに付加する学習状態情報付加部27bを有する。
DMUX部28は、パケット破棄判定処理部26及びパケット生成部27から入力されるパケットを、学習状態判定部24からの出力ポート情報に従い、指示されたポートから出力する機能を有するデマルチプレクサである。また、DMUX部28は、パケット破棄判定処理部26及びパケット生成部27から入力されるパケットに対応する出力ポート情報が存在しない場合に、当該パケットを受信したポート以外の全ポートからパケットを伝送路30に送出(フラッディング)する。
つぎに、複数の端末装置10間のパケット通信における、中継装置20の各構成要素の動作について説明する。なお、以下の説明においては、複数の端末装置10間のパケット通信として、図1に示す第1の端末装置10aと第2の端末装置10bとの間における、図8に示すパケット通信を例に挙げて説明する。
また、第1の中継装置20aのアドレス学習テーブルは、第1の端末装置10aのMACアドレス(宛先アドレス)又は第2の端末装置10bのMACアドレス(宛先アドレス)とポート情報(出力ポート情報)とがそれぞれ対応付けられ学習済みであると仮定する。また、第2の中継装置20bのアドレス学習テーブルは、第1の端末装置10aのMACアドレス(宛先アドレス)又は第2の端末装置10bのMACアドレス(宛先アドレス)とポート情報(出力ポート情報)とがそれぞれ対応付けられておらず、未学習であると仮定する。
まず、第1の端末装置10aは、第2の端末装置10bに向けて、秘密通信用パケットを送信する。
この場合に、秘密通信用パケットは、図3(d)に示すように、宛先アドレス(DA)を「第2の端末装置10bのMACアドレス」とし、送信元アドレス(SA)を「第1の端末装置10aのMACアドレス」として、秘密通信用パケット管理部3により生成される。また、秘密通信用パケットは、秘密通信用パケット管理部3により、実データとして秘密情報がカプセル化され、タイプ値を「D000」とし、パラメータ値を「0004」とし、パディングとして全ての値を「0」とし、4バイトのFCSが付加されている。
第1の中継装置20aは、秘密通信用パケットを一のポート(ここでは、第1のポート)で受信すると、秘密通信用パケットは、MUX部21に入力される。
MUX部21は、秘密通信用パケットの先頭に、入力ポート情報(ここでは、第1のポート)を付加したヘッダ領域を追加して、DA/SA抽出部22に出力する。
DA/SA抽出部22は、秘密通信用パケットの宛先アドレス(ここでは、第2の端末装置10bのMACアドレス)及び入力ポート情報(ここでは、第1のポート)を抽出し、学習状態判定部24に出力すると共に、秘密通信用パケットをパケット識別部25に出力する。
また、DA/SA抽出部22は、秘密通信用パケットの送信元アドレス(ここでは、第1の端末装置10aのMACアドレス)を抽出し、学習状態判定部24に出力する。しかしながら、送信元アドレス(MACアドレス)と入力ポート情報(ポート情報)との組み合わせが、アドレス学習テーブルに既に存在するために、学習状態判定部24は、新規のエントリ番号としてアドレス学習テーブルに登録は行なわない。
学習状態判定部24は、入力された宛先アドレス(ここでは、第2の端末装置10bのMACアドレス)に基づき、学習テーブル格納部23に格納されたアドレス学習テーブルを参照し、宛先アドレスに対応するポート情報が存在するか否かを判定する。
そして、学習状態判定部24は、対応するポート情報がアドレス学習テーブルに存在すると判定した場合に、当該ポート情報がDA/SA抽出部22から入力されたパケットの入力ポート情報に一致するか(自ポートであるか)否かを判定する。
なお、ここでは、対応するポート情報が「第2のポート」としてアドレス学習テーブルに存在し、自ポート(第1のポート)ではないために、当該ポート情報(第2のポート)を出力ポート情報として、パケット破棄判定処理部26及びDMUX部28に出力する。
パケット識別部25のタイプ値識別部25aは、秘密通信用パケットのタイプ値(ここでは、「D000」)に基づき、秘密通信に関連するパケットであると識別し、秘密通信用パケットをパラメータ値識別部25bに出力する。
パラメータ値識別部25bは、秘密通信用パケットのパラメータ値(ここでは、「0004」)に基づき、秘密通信用パケットであると識別する。そして、パラメータ値識別部25bは、秘密通信用パケットであることを示す識別信号を秘密通信用パケット破棄判定部26aに出力すると共に、秘密通信用パケットを秘密通信用パケット破棄処理部26bに出力する。
秘密通信用パケット破棄判定部26aは、入力された識別信号に対応する秘密通信用パケットの出力ポート情報の通知が学習状態判定部24から入力されるために、秘密通信用パケット破棄処理部26bにパケット破棄の指示信号を出力しないことになる。
秘密通信用パケット破棄処理部26bは、パケット破棄の指示信号が入力されないために、破棄通知用パケット生成部27aにパケット破棄の通知を出力することなく、秘密通信用パケットをDMUX部28に出力する。
DMUX部28は、秘密通信用パケットの先頭に追加した入力ポート情報を付加したヘッダ領域を削除し、学習状態判定部24から入力される出力ポート情報に基づき、対応する出力ポート(ここでは、第2のポート)から秘密通信用パケットを伝送路30に送出する。
このように、第1の中継装置20aは、宛先アドレス(MACアドレス)とポート情報(出力ポート情報)とが対応付けられ学習済みであるために、秘密通信用パケットは、フラッディングや破棄されることなく、第2の中継装置20bのみに転送されることになる。
第2の中継装置20bは、第1の中継装置20aから転送された秘密通信用パケットを受信すると、MUX部21及びDA/SA抽出部22において、前述した第1の中継装置20aのMUX部21及びDA/SA抽出部22による処理とほぼ同様の処理を行なうことなる。
そして、第2の中継装置20bの学習状態判定部24は、DA/SA抽出部22から入力された宛先アドレス(ここでは、第2の端末装置10bのMACアドレス)に基づき、学習テーブル格納部23に格納されたアドレス学習テーブルを参照し、宛先アドレスに対応するポート情報が存在するか否かを判定する。
なお、ここでは、対応するポート情報がアドレス学習テーブルに存在しないために、学習状態判定部24は、パケット破棄判定処理部26及びDMUX部28に、出力ポート情報を出力できない。
また、学習状態判定部24は、DA/SA抽出部22から入力される送信元アドレス(SA)と入力ポート情報との組み合わせが、アドレス学習テーブルに存在しないために、送信元アドレスであるMACアドレスと入力ポート情報であるポート情報とを対応付ける。そして、学習状態判定部24は、対応付けたMACアドレス(ここでは、第1の端末装置10aのMACアドレス)とポート情報(ここでは、第1のポート)とを、新規のエントリ番号としてアドレス学習テーブルに登録する。
タイプ値識別部25a及びパラメータ値識別部25bは、DA/SA抽出部22から秘密通信用パケットが入力されると、前述した第1の中継装置20aのタイプ値識別部25a及びパラメータ値識別部25bによる処理とほぼ同様の処理を行なうことなる。
そして、秘密通信用パケット破棄判定部26aは、入力された識別信号に対応する秘密通信用パケットの出力ポート情報の通知が学習状態判定部24から入力されないために、秘密通信用パケット破棄処理部26bにパケット破棄の指示信号を出力する。
そして、秘密通信用パケット破棄処理部26bは、パケット破棄の指示信号に基づき、秘密通信用パケットを破棄し、破棄通知用パケット生成部27aにパケット破棄の通知を出力する。
破棄通知用パケット生成部27aは、パケット破棄の通知に基づき、破棄された秘密通信用パケットの送信元を送信先とする、破棄通知用パケットを生成し、当該破棄通知用パケットをDA/SA抽出部22に出力する。
この場合に、破棄通知用パケットは、図3(e)に示すように、宛先アドレス(DA)を「第1の端末装置10aのMACアドレス」とし、送信元アドレス(SA)を「第2の中継装置20bのMACアドレス」として、破棄通知用パケット生成部27aにより生成される。また、破棄通知用パケットは、タイプ値を「D000」とし、パラメータ値を「0003」とし、秘密通信用パケットを破棄した中継装置20のMACアドレスを「第2の中継装置20bのMACアドレス」として、破棄通知用パケット生成部27aにより生成される。また、破棄通知用パケットは、破棄情報を「0」とし、固定コードを「55aa」とし、パディングとして全ての値を「0」とし、4バイトのFCSが付加されている。
そして、DA/SA抽出部22は、破棄通知用パケットが入力されると、破棄通知用パケットの宛先アドレス(ここでは、第1の端末装置10aのMACアドレス)を抽出し、学習状態判定部24に出力すると共に、破棄通知用パケットをパケット識別部25に出力する。
学習状態判定部24は、入力された宛先アドレス(ここでは、第1の端末装置10aのMACアドレス)に基づき、学習テーブル格納部23に格納されたアドレス学習テーブルを参照し、宛先アドレスに対応するポート情報が存在するか否かを判定する。
なお、ここでは、対応するポート情報が「第1のポート」としてアドレス学習テーブルに存在するために、当該ポート情報(第1のポート)を出力ポート情報として、DMUX部28に出力する。
パケット識別部25のタイプ値識別部25aは、破棄通知用パケットのタイプ値(ここでは、「D000」)に基づき、秘密通信に関連するパケットであると識別し、破棄通知用パケットをパラメータ値識別部25bに出力する。
パラメータ値識別部25bは、破棄通知用パケットのパラメータ値(ここでは、「0003」)に基づき、破棄通知用パケットであると識別する。そして、パラメータ値識別部25bは、破棄通知用パケットを秘密通信用パケット破棄処理部26bに出力する。
破棄通知用パケットは、秘密通信用パケットではないために、秘密通信用パケット破棄処理部26bを介して、DMUX部28に出力される。
DMUX部28は、学習状態判定部24から入力される出力ポート情報に基づき、対応する出力ポート(ここでは、第1のポート)から破棄通知用パケットを伝送路30に送出する。
このように、第2の中継装置20bは、宛先アドレス(MACアドレス)とポート情報(出力ポート情報)とが対応付けられておらず未学習であるために、秘密通信用パケットを破棄する。そして、第2の中継装置20bは、破棄通知用パケットを生成し、当該破棄通知用パケットを第1の端末装置10aに向けて送出することになる。
第1の中継装置20aは、第2の中継装置20bから送信された破棄通知用パケットを受信すると、MUX部21及びDA/SA抽出部22において、前述した第1の中継装置20aのMUX部21及びDA/SA抽出部22による処理とほぼ同様の処理を行なうことなる。また、第1の中継装置20aは、学習状態判定部24、パケット識別部25及びパケット破棄判定処理部26及びDMUX部28において、前述した第2の中継装置20bの各部による処理とほぼ同様の処理を行なうことなる。
すなわち、第1の中継装置20aは、宛先アドレス(MACアドレス)とポート情報(出力ポート情報)とが対応付けられ学習済みであるために、破棄通知用パケットは、フラッディングや破棄されることなく、第1の端末装置10aのみに転送されることになる。
第1の端末装置10aは、第1の中継装置20aから送信された破棄通知用パケットを受信すると、前述したとおり、開始要求用パケットを生成し、第2の端末装置10bに向けて、開始要求用パケットを伝送路30に送出する。
この場合に、開始要求用パケットは、図3(c)に示すように、宛先アドレス(DA)を「第2の端末装置10bのMACアドレス」とし、送信元アドレス(SA)を「第1の端末装置10aのMACアドレス」として、パケット生成部2により生成される。また、開始要求用パケットは、パケット生成部2により、タイプ値を「D000」とし、パラメータ値を「0001」とし、制御データとして全ての値を「0」とし、パディングとして全ての値を「0」とし、4バイトのFCSが付加されている。
第1の中継装置20aは、開始要求用パケットを一のポート(ここでは、第1のポート)で受信すると、開始要求用パケットは、MUX部21に入力される。
MUX部21は、開始要求用パケットの先頭に、入力ポート情報(ここでは、第1のポート)を付加したヘッダ領域を追加して、DA/SA抽出部22に出力する。
DA/SA抽出部22は、開始要求用パケットの宛先アドレス(ここでは、第2の端末装置10bのMACアドレス)及び入力ポート情報(ここでは、第1のポート)を抽出し、学習状態判定部24に出力すると共に、開始要求用パケットをパケット識別部25に出力する。
また、DA/SA抽出部22は、開始要求用パケットの送信元アドレス(ここでは、第1の端末装置10aのMACアドレス)を抽出し、学習状態判定部24に出力する。しかしながら、送信元アドレス(MACアドレス)と入力ポート情報(ポート情報)との組み合わせが、アドレス学習テーブルに既に存在するために、学習状態判定部24は、新規のエントリ番号としてアドレス学習テーブルに登録は行なわない。
学習状態判定部24は、入力された宛先アドレス(ここでは、第2の端末装置10bのMACアドレス)に基づき、学習テーブル格納部23に格納されたアドレス学習テーブルを参照し、宛先アドレスに対応するポート情報が存在するか否かを判定する。
そして、学習状態判定部24は、対応するポート情報がアドレス学習テーブルに存在すると判定した場合に、当該ポート情報がDA/SA抽出部22から入力されたパケットの入力ポート情報に一致するか(自ポートであるか)否かを判定する。
なお、ここでは、対応するポート情報が「第2のポート」としてアドレス学習テーブルに存在し、自ポート(第1のポート)ではないために、当該ポート情報(第2のポート)を出力ポート情報として、DMUX部28に出力する。
パケット識別部25のタイプ値識別部25aは、開始要求用パケットのタイプ値(ここでは、「D000」)に基づき、秘密通信に関連するパケットであると識別し、開始要求用パケットをパラメータ値識別部25bに出力する。
パラメータ値識別部25bは、開始要求用パケットのパラメータ値(ここでは、「0001」)に基づき、開始要求用パケットであると識別する。そして、パラメータ値識別部25bは、開始要求用パケットを秘密通信用パケット破棄処理部26bに出力する。
開始要求用パケットは、秘密通信用パケットではないために、秘密通信用パケット破棄処理部26bを介して、DMUX部28に出力される。
DMUX部28は、学習状態判定部24から入力される出力ポート情報に基づき、対応する出力ポート(ここでは、第2のポート)から開始要求用パケットを伝送路30に送出する。
このように、第1の中継装置20aは、宛先アドレス(MACアドレス)とポート情報(出力ポート情報)とが対応付けられ学習済みであるために、開始要求用パケットは、フラッディングや破棄されることなく、第2の中継装置20bのみに転送されることになる。
第2の中継装置20bは、第1の中継装置20aから転送された開始要求用パケットを受信すると、前述した第1の中継装置20aによる処理とほぼ同様の処理を行なうことなる。
ただし、第2の中継装置20bは、宛先アドレス(MACアドレス)とポート情報(出力ポート情報)とが対応付けられておらず、未学習であるために、開始要求用パケットは、フラッディングされる。すなわち、開始要求用パケットは、自ポート(ここでは、第1のポート)以外のポート(ここでは、第2のポート、第3のポート及び第4のポート)から、伝送路30に送出されることになる。
第2の端末装置10bは、第2の中継装置20bから転送された開始要求用パケットを受信すると、前述したとおり、合意応答用パケットを生成し、第1の端末装置10aに向けて、合意応答用パケットを伝送路30に送出する。
この場合に、合意応答用パケットは、図4(a)に示すように、宛先アドレス(DA)を「第1の端末装置10aのMACアドレス」とし、送信元アドレス(SA)を「第2の端末装置10bのMACアドレス」として、パケット生成部2により生成される。また、合意応答用パケットは、タイプ値を「D000」とし、パラメータ値を「0002」とし、送信元の端末装置10のMACアドレスを「第2の端末装置10bのMACアドレス」とし、合意情報を「1」として、パケット生成部2により生成される。また、合意応答用パケットは、固定コードを「55aa」とし、パディングとして全ての値を「0」とし、4バイトのFCSが付加されている。
第2の中継装置20bは、合意応答用パケットを一のポート(ここでは、第2のポート)で受信すると、合意応答用パケットは、MUX部21に入力される。
MUX部21は、合意応答用パケットの先頭に、入力ポート情報(ここでは、第2のポート)を付加したヘッダ領域を追加して、DA/SA抽出部22に出力する。
DA/SA抽出部22は、合意応答用パケットの宛先アドレス(ここでは、第1の端末装置10aのMACアドレス)及び入力ポート情報(ここでは、第2のポート)を抽出し、学習状態判定部24に出力すると共に、合意応答用パケットをパケット識別部25に出力する。また、DA/SA抽出部22は、合意応答用パケットの送信元アドレス(ここでは、第2の端末装置10bのMACアドレス)を抽出し、学習状態判定部24に出力する。
学習状態判定部24は、入力された宛先アドレス(ここでは、第1の端末装置10aのMACアドレス)に基づき、学習テーブル格納部23に格納されたアドレス学習テーブルを参照し、宛先アドレスに対応するポート情報が存在するか否かを判定する。
そして、学習状態判定部24は、対応するポート情報がアドレス学習テーブルに存在すると判定した場合に、当該ポート情報がDA/SA抽出部22から入力されたパケットの入力ポート情報に一致するか(自ポートであるか)否かを判定する。
なお、ここでは、対応するポート情報が「第1のポート」としてアドレス学習テーブルに存在し、自ポート(第2のポート)ではないために、当該ポート情報(第1のポート)を出力ポート情報として、DMUX部28に出力する。
また、学習状態判定部24は、対応するポート情報がアドレス学習テーブルに存在するために、学習状態情報を学習済みとしてパケット生成部27に出力する。なお、学習状態判定部24は、対応するポート情報がアドレス学習テーブルに存在しないのであれば、学習状態情報を未学習としてパケット生成部27に出力することになる。
また、学習状態判定部24は、DA/SA抽出部22から入力される送信元アドレス(SA)と入力ポート情報との組み合わせが、アドレス学習テーブルに存在しないために、送信元アドレスであるMACアドレスと入力ポート情報であるポート情報とを対応付ける。そして、学習状態判定部24は、対応付けたMACアドレス(ここでは、第2の端末装置10bのMACアドレス)とポート情報(ここでは、第2のポート)とを、新規のエントリ番号としてアドレス学習テーブルに登録する。
パケット識別部25のタイプ値識別部25aは、合意応答用パケットのタイプ値(ここでは、「D000」)に基づき、秘密通信に関連するパケットであると識別し、合意応答用パケットをパラメータ値識別部25bに出力する。
パラメータ値識別部25bは、合意応答用パケットのパラメータ値(ここでは、「0002」)に基づき、合意応答用パケットであると識別する。そして、パラメータ値識別部25bは、合意応答用パケットであることを示す識別信号と合意応答用パケットとを学習状態情報付加部27bに出力する。
学習状態情報付加部27bは、合意応答用パケットであることを示す識別信号に基づき、合意応答用パケットに学習状態情報を付加し、当該合意応答用パケットをDMUX部28に出力する。
この場合に、合意応答用パケットは、図4(b)に示すように、図4(a)に示す合意応答用パケットのデータ本体に、第1番目に転送される中継装置20のMACアドレスを「第2の中継装置20b」とし、学習状態情報を「1」とし、固定コードを「55aa」として付加される。
DMUX部28は、合意応答用パケットの先頭に追加した入力ポート情報を付加したヘッダ領域を削除し、学習状態判定部24から入力される出力ポート情報に基づき、対応する出力ポート(ここでは、第1のポート)から合意応答用パケットを伝送路30に送出する。
このように、第2の中継装置20bは、宛先アドレス(MACアドレス)とポート情報(出力ポート情報)とが対応付けられ学習済みであるために、合意応答用パケットは、フラッディングや破棄されることなく、第1の中継装置20aのみに転送されることになる。
第1の中継装置20aは、第2の中継装置20bから転送された合意応答用パケットを受信すると、前述した第2の中継装置20bによる処理とほぼ同様の処理を行なうことなる。
ただし、第1の中継装置20aは、合意応答用パケットを第2番目に転送する中継装置20であるために、合意応答用パケットの構造が、図4(c)に示すように変形される。すなわち、合意応答用パケットは、図4(b)に示す合意応答用パケットのデータ本体に、第2番目に転送される中継装置20のMACアドレスを「第1の中継装置20a」とし、学習状態情報を「1」とし、固定コードを「55aa」として付加される。
第1の端末装置10aは、第1の中継装置20aから転送された合意応答用パケットを受信すると、前述したとおり、秘密通信用パケットを生成し、第2の端末装置10bに向けて、秘密通信用パケットを伝送路30に送出する。
第1の中継装置20aは、第1の端末装置10aから送信された秘密通信用パケットを受信すると、前述した第1の中継装置20aによる処理とほぼ同様の処理を行なうことなる。すなわち、第1の中継装置20aは、宛先アドレス(MACアドレス)とポート情報(出力ポート情報)とが対応付けられ学習済みであるために、秘密通信用パケットは、フラッディングや破棄されることなく、第2の中継装置20bのみに転送されることになる。
また、第2の中継装置20bは、第1の中継装置20aから転送された秘密通信用パケットを受信すると、前述した第1の中継装置20aによる処理とほぼ同様の処理を行なうことなる。すなわち、第2の中継装置20bは、宛先アドレス(MACアドレス)とポート情報(出力ポート情報)とが対応付けられ学習済みであるために、秘密通信用パケットは、フラッディングや破棄されることなく、第2の端末装置10bのみに転送されることになる。
そして、第2の端末装置10bは、第1の端末装置10aからの秘密通信用パケットを他の端末装置10に受信されることなく、当該秘密通信用パケットを受信することができる。
なお、以上の説明においては、開始要求用パケット、合意応答用パケット、破棄通知用パケット及び秘密通信用パケットに対する、中継装置20の処理について説明したが、通常のパケットについては、以下のような中継装置20の処理が行なわれることになる。
中継装置20は、通常のパケットを一のポートで受信すると、通常のパケットは、MUX部21に入力され、多重処理される。
MUX部21は、通常のパケットの先頭に、入力ポート情報を付加したヘッダ領域を追加して、DA/SA抽出部22に出力する。
DA/SA抽出部22は、通常のパケットの宛先アドレス、送信元アドレス及び入力ポート情報を抽出し、学習状態判定部24に出力すると共に、通常のパケットをパケット識別部25に出力する。
学習状態判定部24は、入力された宛先アドレスに基づき、学習テーブル格納部23に格納されたアドレス学習テーブルを参照し、宛先アドレスに対応するポート情報が存在するか否かを判定する。
そして、学習状態判定部24は、対応するポート情報がアドレス学習テーブルに存在すると判定した場合に、当該ポート情報がDA/SA抽出部22から入力されたパケットの入力ポート情報に一致するか(自ポートであるか)否かを判定する。
そして、学習状態判定部24による判定結果が、対応するポート情報がアドレス学習テーブルに存在し、自ポートではないという判定結果であれば、当該ポート情報を出力ポート情報として、DMUX部28に出力する。
また、学習状態判定部24は、DA/SA抽出部22から入力される送信元アドレスと入力ポート情報との組み合わせが、アドレス学習テーブルに存在しない場合に、送信元アドレスであるMACアドレスと入力ポート情報であるポート情報とを対応付ける。そして、学習状態判定部24は、対応付けたMACアドレスとポート情報とを、新規のエントリ番号としてアドレス学習テーブルに登録する。
パケット識別部25のタイプ値識別部25aは、通常のパケットのタイプ値(ここでは、「D000」ではなく、不明である)に基づき、秘密通信に関連するパケットではないと識別し、通常のパケットをパラメータ値識別部25bに出力する。
通常のパケットは、秘密通信に関連するパケットではないために、パラメータ値識別部25b及び秘密通信用パケット破棄処理部26bを介して、DMUX部28に出力される。
DMUX部28は、通常のパケットの先頭に追加した入力ポート情報を付加したヘッダ領域を削除し、学習状態判定部24から入力される出力ポート情報に基づき、対応する出力ポートから通常のパケットを伝送路30に送出する。なお、DMUX部28は、出力ポート情報が学習状態判定部24から入力されない場合に、通常のパケットを受信したポート以外の全ポートからパケットを伝送路30に送出(フラッディング)する。
以上のように、本実施形態に係る秘密通信システム100は、中継装置20のアドレス学習テーブルが宛先アドレスとポート情報とが対応付けられておらず未学習であったとしても、秘密通信用パケットが秘密通信の対象の端末装置10以外に受信されることがない。このため、本実施形態に係る秘密通信システム100は、秘密情報の漏洩を防止することができると共に、複数の端末装置10間の秘密通信による安全性を確保することができるという作用効果を奏する。
特に、本実施形態に係る秘密通信システム100は、仮に、秘密通信の暗号に対する解読技術が進歩したとしても、解読対象の秘密通信用パケットが秘密通信の対象の端末装置10以外に受信されることがない。このため、本実施形態に係る秘密通信システム100は、第三者による秘密情報の取得を防止することができるという作用効果を奏する。
また、本実施形態に係る中継装置20は、秘密通信用パケットを破棄した場合に、当該秘密通信用パケットの送信元に破棄通知用パケットを返信することで、当該送信元では、秘密通信が不可能であることを認識することができる。このため、本実施形態に係る秘密通信システム100は、中継装置20で破棄される無駄な秘密通信パケットの端末装置10からの送信を中断させ、無駄な秘密通信パケットによるネットワークの輻輳を抑制することができるという作用効果を奏する。