以下、図面を参照しながら本発明に係る通信装置、方法、およびプログラムについて詳細に説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
無瞬断ネットワークシステムは、複数の中継経路により、それぞれ本発明の実施形態に係る通信装置である無瞬断装置間で信号を多重通信する。以下、図面および説明の簡略化のために、中継ネットワークの数が2つである場合を例に説明するが、本発明は、それに限定するものではない。
[第1の実施形態]
(構成)
図1は、本発明の第1の実施形態における無瞬断ネットワークシステムの概略構成の一例を示すブロック図である。
無瞬断ネットワークシステムは、第1の拠点Bx1と、第2の拠点Bx2と、第3の拠点Bx3と、を備える。第1の拠点Bx1は、第1のユーザ装置UE1と、第1のユーザ装置UE1に接続された第1の無瞬断装置UA1と、を備える。第2の拠点Bx2は、第2の無瞬断装置UA2と、第2の無瞬断装置UA2に接続された第2のユーザ装置UE2と、を備える。第3の拠点Bx3は、第3の無瞬断装置UA3と、第3の無瞬断装置UA3に接続された第3のユーザ装置UE3と、を備える。第1の無瞬断装置UA1と、第2の無瞬断装置UA2及び第3の無瞬断装置UA3とはそれぞれ、第1の中継経路RP1を含む第1の中継ネットワークRNW1と、第2の中継経路RP2を含む第2の中継ネットワークRNW2とにより接続される。以下、第1のユーザ装置UE1と、第2のユーザ装置UE2と、第3のユーザ装置UE3と、を特に区別する必要がない場合は、単にユーザ装置UEと記載する。同様に、第1の無瞬断装置UA1と、第2の無瞬断装置UA2と、第3の無瞬断装置UA3と、を特に区別する必要がない場合は、単に無瞬断装置UAと記載し、第1の中継ネットワークRNW1と第2の中継ネットワークRNW2とを特に区別する必要がない場合は、単に中継ネットワークRNWと記載する。また、第1の中継ネットワークRNW1と第2の中継ネットワークRNW2とが同一のネットワークであって、1つの中継ネットワーク内に第1の中継経路RP1と第2の中継経路RP2が含まれていても良い。また、図1では、3つの拠点が示されているが、拠点数は、これに限らず、2つ以上であれば良い。
ユーザ装置UEは、ヘッダとデータペイロードとを含むユーザフレームを無瞬断装置UAに送信する、又はユーザフレームを無瞬断装置UAから受信する。ここで、本実施形態に記載するユーザフレームは、単なる一例であり、例えば、保守・管理・運用(OAM:Operation Administration Maintenance)フレームやダミーフレームでも良い。つまり、ユーザ装置UEと無瞬断装置UAとの間で送受信される信号は、ユーザ装置UEと無瞬断装置UAとの間で送受信可能な任意の信号で良いことは勿論である。
無瞬断装置UAは、第1のインタフェースIF1と、第2のインタフェースIF2と、第3のインタフェースIF3と、を含む。また、第1の無瞬断装置UA1は、送信部Tx1及び受信部Rx1を含み、第2の無瞬断装置UA2は、送信部Tx2及び受信部Rx2を含み、第3の無瞬断装置UA3は、送信部Tx3及び受信部Rx3を含む。以下、送信部Tx1、Tx2及びTx3を特に区別する必要がない場合は、単に送信部Txと記載し、受信部Rx1、Rx2及びRx3を特に区別する必要がない場合は、単に受信部Rxと記載する。
第1のインタフェースIF1は、ユーザ装置UEから送信されたユーザフレームを受信し、当該ユーザフレームを送信部Txに転送するためのインタフェースであり、且つ、受信部Rxから受信したユーザフレームをユーザ装置UEに送信するインタフェースである。第2のインタフェースIF2及び第3のインタフェースIF3は、送信部Txから受信した送信フレームを第1の中継経路RP1及び第2の中継経路RP2に送信するためのインタフェースであり、且つ、第1の中継経路RP1及び第2の中継経路RP2を介して他の無瞬断装置UAから送信された送信フレームを受信し、受信部Rxに転送するためのインタフェースである。
送信部Txは、ユーザ装置UEから送信されたユーザフレームを、第1のインタフェースIF1を介して受信する。送信部Txは、所定の暗号キーを用いて受信したユーザフレームを暗号化する。送信部Txは、暗号化されたユーザフレームに、所定の暗号キーを分割して生成した暗号キー片を同期識別情報に付加した送信フレームを作成する。さらに、送信部Txは、中継ネットワークRNWの数に応じて当該送信フレームを複製する。そして、送信部Txは、第2のインタフェースIF2及び第3のインタフェースIF3を介して、各中継ネットワークRNWに送信フレームを送信する。
受信部Rxは、他の無瞬断装置UAから各中継ネットワークRNWを経由して送信された送信フレームを、第2のインタフェースIF2及び第3のインタフェースIF3を介して受信する。受信部Rxは、送信フレームの同期識別情報に含まれる暗号キー片から暗号キーを生成し、生成した暗号キーを用いてユーザフレームを復元する、或いは受信部に保持された暗号キーを用いてユーザフレームを復元する。その後、無瞬断装置UAは、復元されたユーザフレームをユーザ装置UEに送信する。なお、暗号キー片から暗号キーを生成する方法については後述する。
第1の中継ネットワークRNW1及び第2の中継ネットワークRNW2はそれぞれ、第1の中継経路RP1および第2の中継経路RP2を介して、送信フレームを第1の無瞬断装置UA1から、第2の無瞬断装置UA2及び第3の無瞬断装置UA3のような1つ以上の他の無瞬断装置に伝送する。なお、中継ネットワークRNWは、送信フレームを伝送できるものであれば、特に限定されるものではない。例えば、中継ネットワークRNWは、イーサネット(登録商標)ネットワークであって良い。
図2は、ユーザ装置UEのハードウェア構成の一例を示すブロック図である。
ユーザ装置UEは、例えば、PC(Personal Computer)、タブレット型コンピュータ、スマートフォン、等の情報処理端末であり、セットトップボックス等であっても良い。ユーザ装置UEは、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等のハードウェアプロセッサ201を有する。そして、このプロセッサ201に対し、プログラムメモリ202、データメモリ203、通信インタフェース204及び入出力インタフェース205が、バス206を介して接続されている。
プログラムメモリ202は、記憶媒体として、例えば、EPROM(Erasable Programmable Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の随時書込み及び読出しが可能な不揮発性メモリと、ROM(Read Only Memory)等の不揮発性メモリとを組み合わせて使用することができる。プログラムメモリ202は、各種処理を実行するために必要なプログラムを格納している。すなわち、ユーザ装置UEにおける処理機能部は、いずれも、プログラムメモリ202に格納されたプログラムを上記プロセッサ201により読み出して実行することにより実現され得る。
データメモリ203は、記憶媒体として、例えば、HDD、メモリカード等の随時書込み及び読出しが可能な不揮発性メモリと、RAM(Random Access Memory)等の揮発性メモリとを組み合わせて使用したストレージである。データメモリ203は、プロセッサ201がプログラムを実行して各種処理を行う過程で取得及び生成されたデータを記憶するために用いられる。
通信インタフェース204は、1つ以上の有線又は無線の通信モジュールを含む。例えば、通信インタフェース204は、無瞬断装置UAと有線又は無線接続する通信モジュールを含む。さらに通信インタフェース204は、Wi-Fiアクセスポイント及び基地局と無線接続する無線通信モジュールを含んでも良い。さらに、通信インタフェース204は、近距離無線技術を利用して他のユーザ装置UEと無線接続するための無線通信モジュールを含んでも良い。この通信インタフェース204は、プロセッサ201の制御の下、無瞬断装置UA等との間で通信を行い、各種情報を送受信することができるものであれば一般的な通信インタフェースで良い。
入出力インタフェース205には、入力部207及び表示部208が接続されている。なお、図2では、「入出力インタフェース」を「入出力IF」と記載している。
入力部207は、例えば、表示部208である表示デバイスの表示画面上に配置された、静電方式又は圧力方式を採用した入力検知シートであり、ユーザのタッチ位置を入出力インタフェース205を介してプロセッサ201に出力する。表示部208は、例えば液晶、有機EL(Electro Luminescence)、等を使用した表示デバイスであり、入出力インタフェース205から入力された信号に応じた画像及びメッセージを表示する。
図3は、無瞬断装置UAのハードウェア構成の一例を示す図である。
無瞬断装置UAは、CPU等のハードウェアプロセッサ301を有する。そして、無瞬断装置UAでは、このプロセッサ301に対し、プログラムメモリ302と、データメモリ303と、入出力インタフェース305と、通信インタフェース304とが、バス306を介して接続される。
プログラムメモリ302は、非一時的な有形のコンピュータ可読記憶媒体として、例えば、HDDまたはSSD等の随時書込み及び読出しが可能な不揮発性メモリと、ROM等の不揮発性メモリとが組み合わせて使用されたものである。このプログラムメモリ302には、プロセッサ301が本実施形態における各種制御処理を実行するために必要なプログラムが格納されている。
データメモリ303は、有形のコンピュータ可読記憶媒体として、例えば、上記の不揮発性メモリと、RAM等の揮発性メモリとが組み合わせて使用されたものである。このデータメモリ303は、各種処理が行われる過程で取得及び作成された各種データが記憶されるために用いられる。すなわち、データメモリ303には、各種処理が行われる過程で、適宜、各種データを記憶するための領域が確保される。
入出力インタフェース305は、図2に示した第1のインタフェースIF1を含み、当該入出力インタフェース305を経由してユーザ装置UEと接続することが可能である。
通信インタフェース304は、図2に示した第2のインタフェースIF2と、第3のインタフェースIF3とを含み、当該通信インタフェース304を経由して、他の無瞬断装置UAの通信インタフェース304と接続することが可能である。通信インタフェース304は、第1の中継経路RP1および第2の中継経路RP2の通信媒体、通信方法、通信規約に応じた通信モジュールを含んでも良い。
図4は、第1の実施形態における無瞬断装置UAの具体的な構成の一例を示す図である。図4において、ユーザフレームの流れは実線で表わし、その他の情報の流れは、点線で表わしている。
無瞬断装置UAの送信部Txは、受信FIFO(First In First out)キュー401と、第1のフレーム読取機能部402と、暗号化周期設定機能部403と、ユーザフレーム数カウンタ機能部404と、暗号キー生成/保持機能部405と、フレーム暗号化機能部406と、フレーム複製機能部407と、暗号キー分割/保持機能部408と、同期識別情報付与機能部409と、送信FIFOキュー410と、を備える。
無瞬断装置UAの受信部Rxは、受信FIFOキュー411と、第2のフレーム読取機能部412と、フレーム同期機能部413と、暗号キー統合/保持機能部414と、フレーム選択機能部415と、フレーム復号化機能部416と、送信FIFOキュー417と、を備える。
図4に示した送信部Txの各部及び受信部Rxの各処理機能部は、いずれも、図3に示したプログラムメモリ302に格納されたプログラムを上記プロセッサ301により読み出させて実行させることにより実現されて良い。なお、これらの処理機能部の一部または全部は、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)またはFPGA(field-programmable gate array)などの集積回路を含む、他の多様な形式によって実現されても良い。
受信FIFOキュー401は、第1のインタフェースIF1を介して、ユーザ装置UEから一連のユーザフレームを受信し、受信した順で第1のフレーム読取機能部402にユーザフレームを送信する。
第1のフレーム読取機能部402は、受信FIFOキュー401から受信したユーザフレームを読取り、読取ったユーザフレームについての情報をユーザフレーム数カウンタ機能部404に送信する。さらに、第1のフレーム読取機能部402は、受信したユーザフレームをフレーム暗号化機能部406に送信する。
暗号化周期設定機能部403は、例えば拠点Bx内のユーザ装置UEから、第1の設定情報Set1を受信する。第1の設定情報Set1は、どれだけの数のユーザフレーム毎に暗号キーを変更するかについての暗号キー更新周期情報である。なお、暗号キー更新周期は、例えば、n個分の送信フレームであるとする。ここで、nは、1以上の整数である。なお、暗号化周期設定機能部403は、第1の設定情報Set1を受信せずに、プログラムメモリ302に記憶された暗号キー更新周期設定プログラムを読み出し、当該プログラムにより自動的に暗号キー更新周期を決定することも可能である。また、暗号キー更新周期は、受信した第1の設定情報Set1又は暗号キー更新周期設定プログラムに基づいて任意のタイミングで変更可能であって良い。暗号化周期設定機能部403は、暗号キー生成/保持機能部405に暗号キー更新周期情報を送信する。また、暗号化周期設定機能部403は、必要に応じてユーザフレーム数カウンタ機能部404に暗号キー更新周期情報を送信しても良い。
ユーザフレーム数カウンタ機能部404は、第1のフレーム読取機能部402から受信したユーザフレームを一意に識別するための識別情報を生成する。すなわち、ユーザフレーム数カウンタ機能部404は、識別情報生成機能部であって良い。例えば、識別情報は、第1のフレーム読取機能部402から受信した情報に基づいて、ユーザフレーム数をカウントしたカウント数であって良い。ここで、カウントの仕方は、1つのユーザフレームに一意の番号を割り当てることでユーザフレームを連続番号でカウントしても良いし、暗号キー更新周期の最初のユーザフレームを0として順にカウントし、暗号化周期設定機能部403から受信した暗号キー更新周期情報に含まれる暗号キー更新周期毎にカウントを0にリセットしても良い。暗号キー更新周期毎にカウントを0にリセットする場合、カウント数は、暗号キー更新周期のうちの最初のユーザフレームからのフレーム差分数を表すことになる。ユーザフレーム数カウンタ機能部404は、ユーザフレームのカウント数を暗号キー生成/保持機能部405及び同期識別情報付与機能部409に送信する。ユーザフレーム数カウンタ機能部404は、カウント数と共に暗号キー更新周期との関係を把握することが可能な関係情報を同期識別情報付与機能部409に送信することもできる。なお、関係情報は、暗号キー更新周期が変更されない限り1度送信した後、同期識別情報付与機能部409に送信することを省略しても良いのは勿論である。
暗号キー生成/保持機能部405は、所定の共通鍵暗号方式に基づいて暗号キーを生成する。共通鍵暗号方式で使用するアルゴリズムは、例えば、AES(Advanced Encryption Standard)等の一般的なアルゴリズムで良い。また、暗号キー生成/保持機能部405は、ユーザフレーム数カウンタ機能部404から受信したカウント数及び暗号化周期設定機能部403から受信した暗号キー更新周期に基づいて暗号キーを生成する。すなわち、暗号キー生成/保持機能部405は、暗号キー更新周期であるn個のユーザフレーム毎にユーザフレームを暗号化するための暗号キーを生成し、暗号キーを更新する。さらに、暗号キー生成/保持機能部405は、生成した暗号キーを保持する。なお、暗号キー生成/保持機能部405は、新たな暗号キーを生成した後、過去に生成した暗号キーを破棄するようにしても良い。
フレーム暗号化機能部406は、第1のフレーム読取機能部402から受信したユーザフレームを暗号キー生成/保持機能部405に保持された暗号キーを用いて暗号化する。また、フレーム暗号化機能部406は、暗号化されたユーザフレームをフレーム複製機能部407に送信する。
フレーム複製機能部407は、フレーム暗号化機能部406から受信した暗号化されたユーザフレームを、出力する経路の数に等しくなるように複製する。フレーム複製機能部407は、例えば、図1で示すように2つの経路がある場合、暗号化されたユーザフレームを複製して、2つの暗号化されたユーザフレームを生成する。そして、暗号化されたユーザフレームそれぞれを同期識別情報付与機能部409に送信する。
暗号キー分割/保持機能部408は、暗号キー生成/保持機能部405に保持された暗号キーを取得し、暗号キーを経路の数だけ暗号キー片に分割する。例えば、暗号キー分割/保持機能部408は、図1で示すように2つの経路がある場合、暗号キーを2つの暗号キー片に分割する。ここで、分割方法は、一般的な分割方法で良く、ここでの詳細な説明は省略する。そして、暗号キー分割/保持機能部408は、分割した暗号キー片それぞれを、つまり、異なる暗号化キー片をそれぞれの同期識別情報付与機能部409に送信する。なお、暗号キー分割/保持機能部408は、分割した暗号キー片を保持することも可能である。
同期識別情報付与機能部409は、所定のフレーム方式に従った、ユーザフレームを含む送信フレームを生成する。例えば、フレーム方式が埋め込み方式である場合、同期識別情報付与機能部409は、同期識別情報フィールドを暗号化されたユーザフレームに付加した送信フレームを生成する。また、フレーム方式が同期フレーム方式である場合、同期識別情報付与機能部409は、同期識別情報、暗号キー片、及び識別情報であるカウント数を含む同期識別情報フレームを生成し、同期識別情報フレームと、暗号化されたユーザフレームとを含む送信フレームを生成する。そして、同期識別情報付与機能部409は、生成した送信フレームを送信FIFOキューに送信する。
図5Aは、埋め込み方式での送信フレーム503を時系列的に並べた送信フレーム構成の一例を示す図であり、図5Bは、同期フレーム方式での送信フレーム50を時系列的に並べた送信フレーム構成の一例を示す図である。
図5Aで示す送信フレーム503は、ユーザ情報フィールド501に、同期識別情報504、暗号キー片505、識別情報506を搬送する同期識別情報フィールド502が付加されたフレームである。ここで、ユーザ情報フィールド501は、暗号化されたユーザフレームが備える各フィールドに対応する。ユーザ情報フィールド501は、プリアンブルと、宛先アドレスと、送信元アドレスと、イーサタイプと、データと、フレームチェックシーケンス(図5Aでは、FCS:Frame Check Sequence)と記載)と、を備える。これらのプリアンブル、宛先アドレス、送信元アドレス、イーサタイプ、データ、FCSは、一般的なもので良く、これらの詳細な説明は、省略する。同期識別情報フィールド502は、データフィールドとFCSフィールドとの間に付加されている。そして、同期識別情報フィールド502は、送信側の無瞬断装置UAと受信側の無瞬断装置UAの間でフレームの同期を取るための情報を含む同期識別情報504を含む。そして、図5Aで示されるように、暗号キー片505及び識別情報506は、この同期識別情報フィールド502の一部に付加されている。同期識別情報504は、暗号キー更新周期とは無関係に設定される各ユーザフレームを一意に識別するための例えばフレーム番号であり、識別情報506は、暗号キー更新周期内で各ユーザフレームを一意に識別するためのカウント数である。よって、1つの中継経路RPを伝送されるユーザフレームには、識別情報506が同じものが存在するが、同期識別情報504によって区別可能となる。識別情報506は、カウント数に加えて、暗号キー更新周期についての関係情報を含んでも良い。或いは、この暗号キー更新周期についての関係情報は、同期識別情報504に含めても良い。
図5Bで示す送信フレーム503は、暗号されたユーザフレーム507と、同期識別情報フレーム508とを備える。ユーザフレーム507は、上述のユーザ情報フィールド501と同じフィールドを備えるため、図5Bでは、その詳細を省略している。同期識別情報フレーム508は、フィールドとして、プリアンブルと、宛先アドレスと、送信元アドレスと、イーサタイプと、データと、フレームチェックシーケンス(図5Bでは、FCSと記載)と、を備える。ここで、同期識別情報フレーム508は、第1のフレーム読取機能部402がユーザフレーム507を読取った後、読取ったユーザフレーム507に基づいて生成される。そのため、プリアンブル、宛先アドレス、送信元アドレスは、ユーザフレーム507のものと同一の情報である。さらに、同期識別情報フレーム508のデータフィールドは、フレーム暗号化機能部406で暗号化されない。図5Bで示されるように、同期識別情報504、暗号キー片505及び識別情報506は、データフィールド内に付加されている。
なお、図5A及び図5Bで示したフレーム方式は、単なる例であり、その他のフレーム構成でユーザフレームと、同期識別情報504と、暗号キー片505と、識別情報506とを搬送することが可能であることは勿論である。
送信FIFOキュー410は、受信した送信フレーム503順に送信フレーム503を、第2のインタフェースIF2及び第3のインタフェースIF3を介して、第1の中継経路RP1及び第2の中継経路RP2に送信する。すなわち、同期識別情報付与機能部409及び送信FIFOキュー410は、送信機能部であって良い。
受信部Rxの受信FIFOキュー411は、第2のインタフェースIF2及び第3のインタフェースIF3を介して第1の中継経路RP1及び第2の中継経路RP2から送信フレーム503を受信し、受信した順に第2のフレーム読取機能部412に送信フレーム503を送信する。
第2のフレーム読取機能部412は、受信FIFOキュー401から受信した送信フレーム503内の同期識別情報フィールド502またはデータフィールドに付与された暗号キー片505及びカウント数である識別情報506を読取る。第2のフレーム読取機能部412は、読取った暗号キー片505及び識別情報506をフレーム同期機能部413に送信する。また、第2のフレーム読取機能部412は、受信した送信フレーム503をフレーム選択機能部415に送信する。
フレーム同期機能部413は、同期識別情報504に基づいて同一のフレーム番号を有する送信フレーム503を識別する。更に、フレーム同期機能部413は、カウント数である識別情報506が同じ送信フレーム503が中継経路の数分受信している送信フレーム503を識別する。また、暗号キー更新周期についての関係情報が同期識別情報504又は識別情報506に含まれている場合、フレーム同期機能部413は、当該関係情報からカウント数と暗号キー更新周期との関係を把握する。フレーム同期機能部413は、中継経路分受信した送信フレーム503の暗号キー片505、カウント数及びカウント数と暗号キー更新周期との関係情報を暗号キー統合/保持機能部414に送信する。さらにフレーム同期機能部413は、カウント数及び関係情報をフレーム復号化機能部416に送信する。
暗号キー統合/保持機能部414は、所定のルールに基づいて、フレーム同期機能部413から受信した暗号キー片505から暗号キーを合成する。ここで、所定のルールは、暗号キー分割/保持機能部408での分割方式に対応したルールであれば良く、ここでの詳細な説明は、省略する。暗号キー統合/保持機能部414は、合成した暗号キーを保持する。なお、暗号キーを保持する期間は、関係情報に基づいて決定される。また、暗号キー統合/保持機能部414は、フレーム同期機能部413からのカウント数である識別情報506を含む問合せを受けた場合、当該カウント数に対する送信フレーム503のユーザフレームを復号化可能かどうかの応答を送信することができる。
フレーム選択機能部415は、2つの第2のフレーム読取機能部412のうちの早く到着した方からの送信フレーム503を採用し、採用されなかった送信フレーム503を破棄する。フレーム選択機能部415は、選択した送信フレーム503から同期識別情報フィールド502又は同期識別情報フレーム508を削除し、当該送信フレーム503のうちのユーザフレームをフレーム復号化機能部416に送信する。なお、送信フレーム503のうちの1つが喪失し、1つの送信フレーム503しか受信しない場合は、破棄対象が存在しないので、必然的に、受信した送信フレーム503のうちのユーザフレームをフレーム復号化機能部416に送信することとなる。
フレーム復号化機能部416は、フレーム同期機能部413から受信した識別情報506及び関係情報に基づいて、暗号キー統合/保持機能部414から暗号キーを取得する。フレーム復号化機能部416は、取得した暗号キーを用いて送信フレーム503中のユーザフレームを復号化する。フレーム復号化機能部416は、復号されたユーザフレームを送信FIFOキュー417に送信する。
送信FIFOキュー417は、フレーム復号化機能部416から受信した順にユーザフレームを第1のインタフェースIF1を介してユーザ装置UEに送信する。
(動作)
図6は、第1の実施形態における第1の無瞬断装置UA1で一連のユーザフレームを受信してから第2の無瞬断装置UA2に送信フレーム503を送信するまでの処理動作の一例を示すフローチャートである。第1の無瞬断装置UA1のプログラムメモリ302には、このフローチャートに示した制御処理を実行するために必要なプログラムが格納されており、プロセッサ301がそのプログラムを実行することで、プロセッサ301は、送信部Tx1の各キュー及び各機能部として動作することができる。
図6のフローチャートは、ユーザ装置UEから第1のインタフェースIF1を介して一連のユーザフレームを受信することで開始する。
第1の無瞬断装置UA1の第1のフレーム読取機能部402は、受信したユーザフレームを読取る(ステップS101)。ここで、第1のフレーム読取機能部402は、ユーザフレームの宛先アドレス等に含まれる情報により、第2の無瞬断装置UA2にユーザフレームを送信すると識別しても良い。第2のフレーム読取機能部412は、読取ったフレームについての情報をユーザフレーム数カウンタ機能部404に送信すると共に、受信したユーザフレームをフレーム暗号化機能部406に送信する。
識別情報生成機能部であるユーザフレーム数カウンタ機能部404は、受信した情報に基づいて、ユーザフレームを暗号キー更新周期内で一意に識別する識別情報506を生成する。識別情報506は、例えば、受信したユーザフレームの数をカウントしたカウント数である。ユーザフレーム数カウンタ機能部404は、識別情報506を暗号キー生成/保持機能部405及び同期識別情報付与機能部409に送信する。暗号キー生成/保持機能部405は、ユーザフレーム数カウンタ機能部404から受信した識別情報506及び暗号化周期設定機能部403から受信した暗号キー更新周期nに基づいて暗号キーを生成する。ここで、暗号キー更新周期nが短ければ短いほど、よりセキュアにユーザフレームを送信することが可能である。例えば、n=1である場合、すなわち、1つのユーザフレーム毎に暗号キーを更新する場合、最もセキュアにユーザフレームを送信することが可能である。
フレーム暗号化機能部406は、受信したユーザフレームのデータフィールドを暗号キー生成/保持機能部405に保持された暗号キーを用いて暗号化する(ステップS102)。フレーム暗号化機能部406は、暗号化されたユーザフレームをフレーム複製機能部407に送信する。
フレーム複製機能部407は、暗号化されたユーザフレームを出力する経路の数に等しくなるように複製する(ステップS103)。複製されたユーザフレームはそれぞれ、同期識別情報付与機能部409に送信される。
同期識別情報付与機能部409は、所定のフレーム方式に従って、ユーザフレームを含む送信フレーム503を生成する(ステップS104)。例えば、所定のフレーム方式が埋め込み方式である場合、同期識別情報付与機能部409は、同期識別情報フィールド502を暗号化されたユーザフレームに付加した送信フレーム503を生成する。また、所定のフレーム方式が同期フレーム方式である場合、同期識別情報付与機能部409は、同期識別情報504、暗号キー片505、及び識別情報506を含む同期識別情報フレーム508を生成し、同期識別情報フレーム508と、暗号化されたユーザフレーム507とを含む送信フレーム503を生成する。そして、同期識別情報付与機能部409は、生成した送信フレーム503を送信FIFOキュー410に送信する。暗号キー片505は、暗号キー生成/保持機能部405に保持された暗号キーを、暗号キー分割/保持機能部408によって中継経路の数に分割した暗号キー片505であり、2つの同期識別情報付与機能部409は、互いに異なる暗号化キー片を付与する。
送信FIFOキュー410は、受信した送信フレーム503順に送信フレーム503を、第2のインタフェースIF2及び第3のインタフェースIF3を介して、第1の中継経路RP1及び第2の中継経路RP2に送信する(ステップS105)。
図7は、第1の実施形態における第2の無瞬断装置UA2が、第1の無瞬断装置UA1から送信フレーム503を受信してからユーザフレームをユーザ装置UEに送信するまでの処理動作の一例を示すフローチャートである。第2の無瞬断装置UA2のプログラムメモリ302には、このフローチャートに示した制御処理を実行するために必要なプログラムが格納されており、プロセッサ301がそのプログラムを実行することで、プロセッサ301は、受信部Rx2の各キュー及び各機能部として動作することができる。
図7のフローチャートは、第2の無瞬断装置UA2の受信FIFOキュー411において、第1の無瞬断装置UA1から送信された送信フレーム503を、第1の中継経路RP1及び第2のインタフェースIF2と第2の中継経路RP2及び第3のインタフェースIF3との何れか一方を介して受信することで開始する。
第2の無瞬断装置UA2の第2のフレーム読取機能部412は、受信FIFOキュー411で受信した送信フレーム503を読取る(ステップS201)。埋め込み方式で送信フレーム503が第1の無瞬断装置UA1から送信された場合、第2のフレーム読取機能部412は、受信FIFOキュー411から受信した送信フレーム503内の同期識別情報フィールド502に付加された同期識別情報504、暗号キー片505及びカウント数である識別情報506を読取る。同期フレーム方式で送信フレーム503が第1の無瞬断装置UA1から送信された場合、第2のフレーム読取機能部412は、同期識別情報フレーム508のデータフィールド内に付加された同期識別情報504、暗号キー片505及びカウント数である識別情報506を読取る。第2のフレーム読取機能部412は、読取った同期識別情報504、暗号キー片505及び識別情報506をフレーム同期機能部413に送信する。
フレーム同期機能部413は、送信フレーム503の喪失が有るかどうかを判定する(ステップS202)。送信フレーム503が中継ネットワークRNW上で障害等により喪失することがある。以下の説明は、2つの中継経路RR1,RR2で送信された送信フレーム503のうち1つの送信フレーム503のみが喪失する場合について説明する。フレーム同期機能部413は、第2のフレーム読取機能部412のそれぞれから受信した識別情報506であるカウント数を識別し、同一のカウント数を有する送信フレーム503が中継経路分受信しているかを判定する。当該送信フレーム503が中継経路分受信していない場合、フレーム同期機能部413は、送信フレーム503が喪失していると判定する。逆に、当該送信フレーム503が中継経路分受信している場合、フレーム同期機能部413は、送信フレーム503の喪失が無いと判定する。
送信フレーム503の喪失が無いと判定した場合、フレーム同期機能部413は、受信した同期識別情報504、暗号キー片505及び識別情報506を暗号キー統合/保持機能部414に送信する。ここで、識別情報506と暗号キー更新周期との関係を示す関係情報が送信フレーム503に含まれている場合、フレーム同期機能部413は、当該関係情報から、識別情報506と暗号キー更新周期の関係を把握することが可能である。そして、フレーム同期機能部413は、関係情報から、受信した送信フレーム503が暗号キー更新周期の最初の送信フレーム503であるかないか判定することが可能である。フレーム同期機能部413は、送信フレーム503が暗号キー更新周期の最初の送信フレーム503でないと判定した場合、読取った暗号キー片505を暗号キー統合/保持機能部414に送信することを省略しても良い。これは暗号キー統合/保持機能部414が受信した送信フレーム503のユーザフレームを復号化可能な暗号キーを有しているためである。また、暗号キー統合/保持機能部414は、受信した暗号キー片505から暗号キーを生成し、保持する。
送信フレーム503の喪失が有ると判定した場合、フレーム同期機能部413は、暗号キー統合/保持機能部414が喪失していない送信フレーム503のユーザフレームを復号化可能な暗号キーを有しているかどうかを判定する(ステップS203)。具体的には、フレーム同期機能部413は、暗号キー統合/保持機能部414に喪失した送信フレーム503のカウント数である識別情報506を含む問合せを送信し、問合わせに対する応答に基づいて暗号キー統合/保持機能部414が暗号キーを有しているかどうかを判定する。暗号キー統合/保持機能部414が当該ユーザフレームを復号化可能な暗号キーを有している場合、送信フレーム503に含まれるユーザフレームの復号化が可能であるため、処理は、ステップS205に進む。暗号キー統合/保持機能部414が当該ユーザフレームを復号化可能な暗号キーを有していない場合、フレーム同期機能部413は、フレーム選択機能部415にフレーム保持情報を送信する。フレーム選択機能部415がフレーム保持情報を受信した場合、フレーム選択機能部415は、受信した送信フレーム503を無瞬断装置UAのデータメモリ303に保存する。そして、処理は、ステップS201に戻る。
フレーム選択機能部415は、送信フレーム503を選択する(ステップS204)。具体的には、フレーム選択機能部415は、第2のフレーム読取機能部412の何れかから早く到着した送信フレーム503を採用し、採用されなかった送信フレーム503を破棄する。フレーム選択機能部415は、選択した送信フレーム503から同期識別情報フィールド502又は同期識別情報フレーム508を削除し、当該送信フレーム503のうちのユーザフレームをフレーム復号化機能部416に送信する。また、フレーム選択機能部415は、フレーム保持情報を受信したことによってデータメモリ303に記憶された送信フレーム503がある場合、当該送信フレーム503もフレーム復号化機能部416に送信しても良い。
フレーム復号化機能部416は、暗号キー統合/保持機能部414が保持している暗号キーを使用してフレーム選択機能部415から受信したユーザフレームを復号化する(ステップS205)。なお、暗号キー統合/保持機能部414に保持された暗号キーは、フレーム同期機能部413から受信した暗号キー片505を統合して生成された暗号キーである。ここで、例えば、ある暗号キー更新周期の最初の送信フレーム503が正常に第2の無瞬断装置UA2で受信された場合、暗号キー統合/保持機能部414は、当該暗号キー更新周期で使用する暗号キーを保持することになる。そのため、当該暗号キー更新周期内の2番目以降に受信した送信フレーム503のユーザフレームについて、フレーム復号化機能部416は、当該暗号キーを使用して復号化することができる。すなわち、当該暗号キー更新周期内の2番目以降に受信した送信フレーム503に喪失があったとしても、フレーム復号化機能部416は、他方の送信フレーム503に含まれるユーザフレームを当該暗号キーを用いて復号することができる。しかしながら、当該暗号キー更新周期内の最初の送信フレーム503が喪失した場合、暗号キー統合/保持機能部414が暗号キーを生成することができないため、フレーム復号化機能部416は、他方の送信フレーム503を受信したとしても、そこに含まれるユーザフレームを復号化することができない。そのため、フレーム復号化機能部416は、当該暗号キー更新周期内の2番目以降で正常に受信した送信フレーム503に含まれる暗号キー片505から生成された暗号キーを用いて、受信した送信フレーム503及びそれ以前に受信した送信フレーム503に含まれるユーザフレームを復号化する。そして、フレーム復号化機能部416は、復号化されたユーザフレームを送信FIFOキュー417に送信する。
送信FIFOキュー417は、フレーム復号化機能部416から受信した順にユーザフレームを第1のインタフェースIF1を介してユーザ装置UEに送信する(ステップS206)。
(作用効果)
以上に示した第1の実施形態によれば、例えば悪意のある第3者が1つの中継経路上に送信された送信フレーム503をスヌープしたとしても、別の中継経路上の対応する暗号キー片505を含む送信フレーム503を入手できないので、暗号化された送信フレーム503に含まれるユーザフレームを読取ることができない。よって、その送信フレーム503に係わる連続情報を復元することもできない。したがって、高いセキュリを有する無瞬断装置UA間での通信が可能になる。
また、暗号キー更新周期nを短くすれば、よりセキュアに送信フレーム503を送信することが可能になる。
[第2の実施形態]
(構成)
図8は、第2の実施形態における無瞬断装置UAの具体的な構成の一例を示す図である。本実施形態の無瞬断装置UAは、先行暗号化周期設定機能部801を備え、先行暗号化周期設定機能部801が第2の設定情報Set2を受信する点で第1の実施形態と異なっている。
先行暗号化周期設定機能部801は、例えば拠点Bx内のユーザ装置UEから、第2の設定情報Set2を受信する。第2の設定情報Set2は、m個分だけ将来の暗号キー更新周期においてユーザフレームを暗号化するための暗号化キーである先行暗号キーを送信フレーム503に付加することを指示する情報である。ここで、mは、1以上の整数である。先行暗号キーを先に送信しておくことで、受信側の無瞬断装置UAは、将来のユーザフレームを復号化するために使用する先行暗号キーを先に生成し保持することになる。すなわち、当該将来のユーザフレームを受信した際、受信側の無瞬断装置UAは、既に当該ユーザフレームを復号化可能な暗号キーを保持していることになる。したがって、受信側の無瞬断装置UAは、送信フレーム503を受信した際、暗号キーの統合する処理時間を考慮する必要が無くなり、受信側の無瞬断装置UAでの情報転送遅延を低減することが可能になる。なお、先行暗号化周期設定機能部801は、第2の設定情報Set2を受信せずに、プログラムメモリ302に記憶された暗号キー先行設定プログラムを読み出し、当該プログラムにより自動的に値mを決定することも可能である。また、値mは、受信した第2の設定情報Set2又は暗号キー先行設定プログラムに基づいて任意のタイミングで変更可能であって良い。先行暗号化周期設定機能部801は、暗号キー生成/保持機能部405及び同期識別情報付与機能部409に値mを含む先行暗号キー情報を送信する。
暗号キー生成/保持機能部405は、受信した先行暗号キー情報及び所定の共通鍵暗号方式に基づいて、m個分の暗号キー更新周期だけ将来のユーザフレームを暗号化するための先行暗号キーを生成し、保持する。ここで、先行暗号キーを保持する期間は、受信した先行暗号キー情報に基づく。すなわち、m個分の暗号キー更新周期だけ将来のユーザフレームを暗号化するために先行暗号キーをフレーム暗号化機能部406が使用した後、暗号キー生成/保持機能部405は、保持する先行暗号キーを破棄して良い。なお、所定の共通鍵暗号方式で使用するアルゴリズムは、第1の実施形態と同様に、一般的なアルゴリズムで良い。
なお、暗号キー生成/保持機能部405は、最初に送るユーザフレームを暗号化するための暗号キーを有していない。そこで、フレーム暗号化機能部406は、最初に送るユーザフレームからm個の暗号キー更新周期中のユーザフレームまで、暗号キー生成/保持機能部405は、最初に生成した先行暗号キーをユーザフレームを暗号化するための暗号キーとして使用するようにしても良い。
暗号キー分割/保持機能部408は、暗号キー生成/保持機能部405に保持された先行暗号キーを取得し、先行暗号キーを経路の数だけ先行暗号キー片に分割する。なお、分割方法は、第1の実施形態と同じである。そして、暗号キー分割/保持機能部408は、分割した先行暗号キー片それぞれを同期識別情報付与機能部409に送信する。
同期識別情報付与機能部409は、第1の実施形態と同様に、所定のフレーム方式に従った、ユーザフレームを含む送信フレーム503を生成する。ここで、第1の実施形態との違いは、送信される暗号キー片505が先行暗号キー片であることである。また、同期識別情報付与機能部409は、受信した先行暗号キー情報を識別情報506と共に送信フレーム503に含めることが可能である。先行暗号キー情報を受信側の無瞬断装置UAが読取ることにより、受信側の無瞬断装置UAは、送信フレーム503に付与された先行暗号キーを使用するユーザフレームを判定することが可能になる。なお、先行暗号キー情報は、値mが変更されない限り1度送信した後、送信フレーム503に含めることを省略しても良いのは勿論である。
フレーム同期機能部413は、第1の実施形態と同様の構成である。第1の実施形態との違いは、送信フレーム503に先行暗号キー情報が含まれる場合、フレーム同期機能部413は、先行暗号キー情報に基づいて、先行暗号キーが実際に使用されるユーザフレームに対応する送信フレーム503のフレーム数を決定する。そして、フレーム同期機能部413は、中継経路分受信した送信フレーム503の先行暗号キー片及び決定したフレーム数に関する情報を暗号キー統合/保持機能部414に送信する。さらにフレーム同期機能部413は、決定した情報をフレーム復号化機能部416に送信する。
暗号キー統合/保持機能部414は、所定のルールに基づいて、フレーム同期機能部413から受信した先行暗号キー片から先行暗号キーを合成する。ここで、所定のルールは、第1の実施形態と同様に暗号キー分割/保持機能部408での分割方式に対応したルールであれば良い。暗号キー統合/保持機能部414は、合成した先行暗号キーを保持する。なお、暗号キーを保持する期間は、フレーム同期機能部413から受信した値mについての情報に基づいて決定される。
(動作)
第2の実施形態における送信側の動作は、送信フレーム503に付加される暗号キー片505が先行暗号キーのものであり、同期識別情報フィールド502又は同期識別情報フレーム508に、識別情報506と共に先行暗号キー情報を含む以外、第1の実施形態の送信側の動作と同じであるため、その説明を省略する。
図9は、第2の実施形態における第2の無瞬断装置UA2が、第1の無瞬断装置UA1から送信フレーム503を受信してからユーザフレームをユーザ装置UEに送信するまでの処理動作の一例を示すフローチャートである。第2の無瞬断装置UA2のプログラムメモリ302には、このフローチャートに示した制御処理を実行するために必要なプログラムが格納されており、プロセッサ301がそのプログラムを実行することで、プロセッサ301は、受信部Rx2の各キュー及び各機能部として動作することができる。
図9に示されるように、第2の実施形態における第2の無瞬断装置UA2の動作は、ステップS203が省略される以外、同じである。そこで、第1の実施形態との違いのみを説明する。
ステップS202で、送信フレーム503の喪失が無いと判定した場合、フレーム同期機能部413は、受信した同期識別情報504、先行暗号キー片及び識別情報506であるカウント数を暗号キー統合/保持機能部414に送信する。さらに、識別情報506と共に先行暗号キー情報が送信フレーム503に含まれている場合、フレーム同期機能部413は、先行暗号キーがどの送信フレーム503に含まれるユーザフレームを復号化するかについて決定し、当該決定した情報を暗号キー統合/保持機能部414及びフレーム復号化機能部416に送信する。ここで、識別情報506と暗号キー更新周期との関係を示す関係情報が送信フレーム503に含まれている場合、フレーム同期機能部413は、当該関係情報から、識別情報506と暗号キー更新周期の関係を把握することが可能である。そして、フレーム同期機能部413は、関係情報から、受信した送信フレーム503が暗号キー更新周期の最初の送信フレーム503であるかないか判定することが可能である。フレーム同期機能部413は、送信フレーム503が暗号キー更新周期の最初の送信フレーム503でないと判定した場合、読取った先行暗号キー片を暗号キー統合/保持機能部414に送信することを省略しても良い。これは暗号キー統合/保持機能部414が、m個分の暗号キー更新周期だけ将来のユーザフレームを暗号化するための先行暗号キーをすでに有しているためである。また、暗号キー統合/保持機能部414は、受信した先行暗号キー片から先行暗号キーを生成し、保持する。
また、ステップS202で、送信フレーム503に喪失が有ると判定した場合、フレーム同期機能部413は、受信できた送信フレーム503における同期識別情報504及び識別情報506のみを暗号キー統合/保持機能部414に送信する。これは、すでに暗号キー統合/保持機能部414が送信フレーム503に含まれるユーザフレームを復号化可能な先行暗号キーを有しているために追加の処理が不要になっているためである。
(作用効果)
以上に示した第2の実施形態によれば、例えば悪意のある第3者が1つの中継経路上に送信された送信フレーム503をスヌープしたとしても、第1実施形態と同様、送信フレーム503に含まれるユーザフレームを読取ることができない。したがって、高いセキュリを有する無瞬断装置UA間での通信が可能になる。
さらに、第2の実施形態によれば、ユーザフレームを暗号化するための暗号キーを先行して受信側の無瞬断装置UAに送ることにより、受信側の無瞬断装置UAは、暗号キーの統合する処理時間を考慮する必要が無くなる。そのため、受信側の無瞬断装置UAでの情報転送遅延を低減することが可能になる。
[第3の実施形態]
(構成)
図10は、第3の実施形態における無瞬断装置UAの具体的な構成の一例を示す図である。本実施形態の無瞬断装置UAは、暗号キー事前折衝処理機能部1001を備え、暗号キー事前折衝処理機能部1001が第3の設定情報Set3を受信する点で第1の実施形態と異なっている。なお、第3の実施形態では、送信側の無瞬断装置UAは、暗号化を開始する前に、受信側の無瞬断装置UAと事前折衝を行い、暗号キーを事前に受信側の無瞬断装置UAに送信する。
暗号キー事前折衝処理機能部1001は、例えば拠点Bx内のユーザ装置UEから、第3の設定情報Set3を受信する。第3の設定情報Set3は、暗号キーをユーザデータを暗号化する前に受信側の無瞬断装置UAに保持させるためのタイミングを示す情報である。なお、暗号キー事前折衝処理機能部1001は、第3の設定情報Set3を受信せずに、プログラムメモリ302に記憶された事前折衝プログラムを読み出し、当該プログラムにより自動的に当該情報を決定することも可能である。また、暗号キー事前折衝処理機能部1001は、第3の設定情報Set3として、どの拠点のユーザ装置UEにユーザフレームを送信するかの情報を取得しても良い。この場合、暗号キー事前折衝処理機能部1001は、これらの情報に基づいてどの無瞬断装置UAと事前折衝を行うか及び事前折衝を行うタイミングを決定することが可能である。このどの拠点のユーザ装置UEにユーザフレームを送信するかの情報は、第1のフレーム読取機能部402が、送信するべきユーザフレームから読取って、暗号キー事前折衝処理機能部1001に与えるようにしても良い。暗号キー事前折衝処理機能部1001は、受信した情報又は決定した情報に基づいて暗号キー送信開始要求を生成する要求を生成し、当該要求を第1のフレーム読取機能部402に送信する。また、暗号キー事前折衝処理機能部1001は、他の無瞬断装置UAから暗号キーの事前折衝を行うための制御フレームを含む送信フレーム503を受信した場合、受信部Rxの第2のフレーム読取機能部412又は暗号キー統合/保持機能部414からそれぞれ所定の情報を受信する。ここで、制御フレームは、暗号キーの事前折衝を行うために必要な要求又は情報を含む。なお、この要求又は情報の詳細は、後述する。暗号キー事前折衝処理機能部1001は、所定の情報に応じた要求を第1のフレーム読取機能部402に送信する。なお、所定の情報及び所定の情報に応じた要求については後述する。
第1のフレーム読取機能部402は、第1の実施形態と同様に、受信FIFOキュー401を介してユーザ装置UEからユーザフレームを受信して、当該ユーザフレームを読取る。第1のフレーム読取機能部402は、受信したユーザフレームをフレーム暗号化機能部406に送信する。さらに、第1のフレーム読取機能部402は、暗号キー事前折衝処理機能部1001にユーザフレームから読取った情報を送信しても良い。また、第1のフレーム読取機能部402は、暗号キー事前折衝処理機能部1001から受信した情報に基づいて、制御フレーム、又は要求を生成する。ここで、埋め込み方式で送信フレーム503を送信する場合、第1のフレーム読取機能部402は、ユーザフレームの同期識別情報フィールド502に制御フレームを組み込む。同期フレーム方式の場合、第1のフレーム読取機能部402は、同期識別情報フレーム508に制御フレームを組み込み込んでも良いし、ユーザフレーム507に制御フレームを組み込んでも良い。そして、第1のフレーム読取機能部402は、生成した制御フレームを組み込んだフレームをフレーム暗号化機能部406、フレーム複製機能部407を介して同期識別情報付与機能部409に送信する。また、第1のフレーム読取機能部402は、生成した要求を、ユーザフレーム数カウンタ機能部404及び暗号キー生成/保持機能部405を介して、暗号キー分割/保持機能部408に送信する。要求は、ユーザフレームの暗号化のために使用する暗号キーを暗号キー片505に分割し、当該暗号キー片505を送信フレーム503に含ませるための要求である。
フレーム暗号化機能部406は、事前折衝時、暗号キーによるユーザフレームの暗号化を行わずに、第1のフレーム読取機能から受信したフレームをフレーム複製機能部407に送信する。
暗号キー分割/保持機能部408は、第1のフレーム読取機能部402から受信した要求に従って、暗号キー片505を生成し、同期識別情報付与機能部409に暗号キー片505を送信する。すなわち、事前折衝時、暗号キー分割/保持機能部408は、当該要求を受信しない限り、暗号キー片505を同期識別情報付与機能部409に送信しない。
同期識別情報付与機能部409は、フレーム暗号化機能部406、フレーム複製機能部407を介して受信したフレームに同期識別情報504を付与して送信フレーム503を生成する。また、暗号キー片505を暗号キー分割/保持機能部408から受信した場合、同期識別情報付与機能部409は、第1の実施形態と同様に送信フレーム503に暗号キー片505を付与した送信フレーム503を生成する。同期識別情報付与機能部409は、送信FIFOキュー410を介して事前折衝の相手となる無瞬断装置UAに送信フレーム503を送信する。
第2のフレーム読取機能部412は、事前折衝時、他の無瞬断装置UAから送信された送信フレーム503を受信FIFOキュー411を介して受信する。そして、第2のフレーム読取機能部412は、送信フレーム503内から制御フレーム又は暗号キー片505を読取る。そして、第2のフレーム読取機能部412は、読取った制御フレーム又は暗号キー片505をフレーム同期機能部413に送信する。また、第2のフレーム読取機能部412は、受信した送信フレーム503をフレーム選択機能部415に送信する。
フレーム同期機能部413は、制御フレームを第2のフレーム読取機能部412から受信した場合、制御フレームに含まれる情報に基づいて所定の情報を生成し、当該情報を暗号キー事前折衝処理機能部1001に送信する。また、暗号キー片505を第2のフレーム読取機能部412から受信した場合、フレーム同期機能部413は、当該暗号キー片505を暗号キー統合/保持機能部414に送信する。
暗号キー統合/保持機能部414は、受信した暗号キー片505から暗号キーを生成するように試みる。暗号キー統合/保持機能部414は、試みの結果、暗号キーを生成できたかどうかを示す所定の情報を暗号キー事前折衝処理機能部1001に送信する。
(動作)
図11は、第3の実施形態における第1の無瞬断装置UA1と第2の無瞬断装置UA2との間の事前折衝の一例を示すシーケンス図である。第1の無瞬断装置UA1及び第2の無瞬断装置UA2のプログラムメモリ302には、このシーケンス図に示した制御処理を実行するために必要なプログラムが格納されており、それぞれのプロセッサ301がそのプログラムを実行することで、プロセッサ301は、第1の無瞬断装置UA1及び第2の無瞬断装置UA2の各機能部及びキューとして動作することができる。
この事前折衝は、第1の無瞬断装置UA1の暗号キー事前折衝処理機能部1001が事前折衝情報を受信することにより開始する。また、事前折衝時において、ユーザフレームは、フレーム暗号化機能部406による暗号化は行われない。
第1の無瞬断装置UA1は、ユーザフレーム中に事前折衝のための情報として暗号キー送信開始要求を含む送信フレーム503を第2の無瞬断装置UA2に送信する(ST1)。具体的には、第1の無瞬断装置UA1の暗号キー事前折衝処理機能部1001は、第3の設定情報Set3に含まれる情報又は事前折衝プログラムに生成された情報に基づいて、暗号キー送信始開始要求を生成する要求を生成する。そして、暗号キー事前折衝処理機能部1001は、当該要求を第1のフレーム読取機能部402に送信する。当該要求を受信した第1のフレーム読取機能部402は、暗号キー送信開始要求を含む制御フレームを生成し、当該制御フレームをフレーム方式に従ってユーザフレーム又は同期識別情報フレーム508に組み込む。同期識別情報付与機能部409は、フレーム暗号化機能部406及びフレーム複製機能部407を介して制御フレームが組み込まれたフレームを受信し、受信したフレームに基づいて送信フレーム503を生成する。そして、同期識別情報付与機能部409は、送信FIFOキュー410を介して、送信フレーム503を第2の無瞬断装置UA2に送信する。
第2の無瞬断装置UA2は、受信した送信フレーム503に含まれる暗号キー送信開始要求に応答して暗号キー送信開始受領を含む送信フレーム503を第1の無瞬断装置UA1に送信する(ST2)。具体的には、第2の無瞬断装置UA2の第2のフレーム読取機能部412は、第1の無瞬断装置UA1から送信された送信フレーム503を受信FIFOキュー411を介して受信する。そして、第2のフレーム読取機能部412は、送信フレーム503内の制御フレームを読取る。そして、第2のフレーム読取機能部412は、読取った制御フレームをフレーム同期機能部413に送信する。フレーム同期機能部413は、制御フレームに含まれる暗号キー送信開始要求情報を確認する。そして、フレーム同期機能部413は、制御フレームに暗号キー送信開始要求が含まれていたことを示す所定の情報を生成し、当該所定の情報を暗号キー事前折衝処理機能部1001に送信する。暗号キー事前折衝処理機能部1001は、当該所定の情報に基づいて、暗号キー送信開始受領を生成する要求を第1のフレーム読取機能部402に送信する。当該要求を受信した第1のフレーム読取機能部402は、暗号キー送信開始受領を含む制御フレームを生成し、当該制御フレームをフレーム方式に従ってユーザフレーム又は同期識別情報フレーム508に組み込む。同期識別情報付与機能部409は、フレーム暗号化機能部406及びフレーム複製機能部407を介して制御フレームが組み込まれたフレームを受信し、受信したフレームに基づいて送信フレーム503を生成する。そして、同期識別情報付与機能部409は、送信FIFOキュー410を介して、送信フレーム503を第1の無瞬断装置UA1に送信する。
第1の無瞬断装置UA1は、受信した暗号キー送信開始受領に応答して、暗号キー片505を含む送信フレーム503を第2の無瞬断装置UA2に送信する(ST3)。具体的には、第1の無瞬断装置UA1の第2のフレーム読取機能部412は、第2の無瞬断装置UA2から送信された送信フレーム503を受信FIFOキュー411を介して受信する。そして、第2のフレーム読取機能部412は、送信フレーム503内の制御フレームを読取る。そして、第2のフレーム読取機能部412は、読取った制御フレームをフレーム同期機能部413に送信する。フレーム同期機能部413は、制御フレームに含まれる暗号キー送信開始受領を確認する。そして、フレーム同期機能部413は、制御フレームに暗号キー送信開始受領が含まれていたことを示す所定の情報を生成し、当該所定の情報を暗号キー事前折衝処理機能部1001に送信する。暗号キー事前折衝処理機能部1001は、当該所定の情報に基づいて、ユーザフレームの暗号化のための使用する暗号キーから分割した暗号キー片505を送信フレーム503に含ませるための要求を生成し、当該要求を第1のフレーム読取機能部402に送信する。当該要求を受信した第1のフレーム読取機能部402は、受信した要求を、ユーザフレーム数カウンタ機能部404及び暗号キー生成/保持機能部405を介して、暗号キー分割/保持機能部408に送信する。暗号キー分割/保持機能部408は、第1のフレーム読取機能部402から受信した要求に従って、保持していた暗号キーから暗号キー片505を生成し、同期識別情報付与機能部409に暗号キー片505を送信する。同期識別情報付与機能部409は、第1の実施形態と同様に送信フレーム503に暗号キー片505を付与した送信フレーム503を生成する。そして、同期識別情報付与機能部409は、送信FIFOキュー410を介して、送信フレーム503を第2の無瞬断装置UA2に送信する。
第2の無瞬断装置UA2は、受信した暗号キー片505から暗号キーの生成を試み、暗号キーが生成されたかどうかを示す情報を含む送信フレーム503を第1の無瞬断装置UA1に送信する(ST4)。具体的には、第2の無瞬断装置UA2の第2のフレーム読取機能部412は、第1の無瞬断装置UA1から送信された送信フレーム503を受信FIFOキュー411を介して受信する。そして、第2のフレーム読取機能部412は、送信フレーム503内の暗号キー片505を読取る。そして、第2のフレーム読取機能部412は、読取った暗号キー片505をフレーム同期機能部413に送信する。フレーム同期機能部413は、暗号キー片505を暗号キー統合/保持機能部414に送信する。暗号キー統合/保持機能部414は、第1の実施形態と同様に、受信した暗号キー片505から暗号キーを生成するように試みる。暗号キー統合/保持機能部414は、試みの結果、暗号キーを生成できたか否かを示す所定の情報を暗号キー事前折衝処理機能部1001に送信する。暗号キー事前折衝処理機能部1001は、当該情報に基づいて、暗号キーが生成できたかどうかを示す情報を制御フレーム含める要求を生成し、当該要求を第1のフレーム読取機能部402に送信する。当該要求を受信した第1のフレーム読取機能部402は、暗号キーが生成できたかどうかを示す情報を含む制御フレームを生成し、当該制御フレームをフレーム方式に従ってユーザフレーム又は同期識別情報フレーム508に組み込む。同期識別情報付与機能部409は、フレーム暗号化機能部406及びフレーム複製機能部407を介して制御フレームが組み込まれたフレームを受信し、当該フレームに基づいて送信フレーム503を生成する。そして、同期識別情報付与機能部409は、送信FIFOキュー410を介して、送信フレーム503を第1の無瞬断装置UA1に送信する。
第1の無瞬断装置UA1は、受信した情報が暗号キー生成失敗を示す場合、再度、ST3に戻る(ST5)。具体的には、第1の無瞬断装置UA1の第2のフレーム読取機能部412は、第2の無瞬断装置UA2から送信された送信フレーム503を受信FIFOキュー411を介して受信する。そして、第2のフレーム読取機能部412は、送信フレーム503内の制御フレームを読取る。そして、第2のフレーム読取機能部412は、読取った制御フレームをフレーム同期機能部413に送信する。フレーム同期機能部413は、制御フレームに含まれる暗号キーが生成できたかどうかを示す情報を確認する。確認の結果、当該情報が暗号キーを生成できていなかったことを示す場合、フレーム同期機能部413は、暗号キーが生成できていなかったことを示す所定の情報を生成し、当該情報を暗号キー事前折衝処理機能部1001に送信する。暗号キー事前折衝処理機能部1001は、所定の情報に基づいて再度暗号キー片505を送信フレーム503に含める要求を生成し、第1のフレーム読取機能部402に送信することになる。
これに対して、第1の無瞬断装置UA1のフレーム同期機能部413による情報の確認の結果、当該情報が暗号キーを生成できたことを示す場合、フレーム同期機能部413は、暗号キーが生成できたことを示す所定の情報を生成し、当該情報を暗号キー事前折衝処理機能部1001に送信する。その結果、暗号キー事前折衝処理機能部1001は、暗号キーが第2の無瞬断装置UA2に記憶されたことを確認することができる。そして、第1の無瞬断装置UA1は、第1のユーザ装置UE1からのユーザデータの受信に応じてユーザフレームの暗号化を開始することができる。
(作用効果)
以上に示した第3の実施形態によれば、暗号化開始時に受信側の無瞬断装置UAは、暗号キーの統合する処理時間を考慮する必要が無くなる。そのため、受信側の無瞬断装置UAでの情報転送遅延を低減することが可能になる。
[他の実施形態]
なお、この発明は上記実施形態に限定されるものではない。例えば、第2の実施形態と第3の実施形態を組み合わせることも可能である。この場合、先行暗号キーを使用してユーザフレームを暗号化する前のユーザフレームに対して、事前折衝によって受け渡された暗号キーを使用してユーザフレームを暗号化することが可能になる。
また、事前折衝で使用するフレームは、専用フレーム又はOAMフレームを使用しても良い。
その他、等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。