(58)【調査した分野】(Int.Cl.,DB名)
演算用パスワードの前記変更規則は、前記演算用パスワードの値を、前記新認証用パスワードの値に変更される直前の前記認証用パスワードの値に変更する処理を規定するものであり、
前記処理部は、前記演算用パスワードの値を、前記新認証用パスワードの値に変更される直前の前記認証用パスワードの値に変更することを特徴とする請求項1に記載の加入者側終端装置。
前記判定部は、前記局側終端装置から受信した前記返答要求に対する演算結果と、前記演算部による演算結果とを比較し、双方の演算結果が不一致であれば前記局側終端装置を不当と判定し、
前記処理部は前記局側終端装置を不当と判定したことを、前記加入者側終端装置と接続される端末装置に通知することを特徴とする請求項1〜3のいずれか一項に記載の加入者側終端装置
演算用パスワードの前記変更規則は、前記演算用パスワードの値を、前記新認証用パスワードの値に変更される直前の前記認証用パスワードの値に変更する処理を規定するものであり、
前記処理部は、前記認証用パスワードの値を前記第一の情報に含まれる前記新認証用パスワードの値に変更するとともに、前記演算用パスワードの値を、前記新認証用パスワードの値に変更される直前の前記認証用パスワードの値に変更することを特徴とする請求項7に記載の局側終端装置。
前記認証部は、前記加入者側終端装置から受信した認証用パスワードと前記記憶部に記憶される前記認証用パスワードとを比較し、双方が不一致ならば、前記加入者側終端装置を認証すべきでないものと判定し、前記加入者側終端装置を認証すべきでないと判定したことを、前記局側終端装置と接続される管理装置に通知することを特徴とする請求項7〜9のいずれか一項に記載の局側終端装置。
【発明を実施するための形態】
【0019】
(A)第1の実施形態
本発明の加入者側終端装置、局側終端装置、通信システム、加入者側終端装置のプログラムおよび局側終端装置のプログラムの第1の実施形態を、図面を参照しながら詳細に説明する。
【0020】
(A‐1)第1の実施形態の構成
(A‐1‐1)全体構成
図1は、本発明の各実施形態(第1の実施形態を含む)に係る光通信システムの全体構成を示す構成図である。
図1において光通信システム1は、OLT10、n個のONU20(20‐1〜20‐n、nは1以上の整数)、光スプリッタ30、光ファイバ幹線40、光ファイバ支線50、管理装置60、m個のユーザ端末70(70‐1〜70‐m、mは1以上の整数)を含む。
【0021】
光通信システム1は、OLT10とn個のONU20とを光スプリッタ30、光ファイバ幹線40および光ファイバ支線50を用いて1対多に接続する構成である。なお
図1では説明を容易にするために簡単な接続構成を例示しているが、光通信システム1の接続構成は
図1に示すものに限定されず、様々な接続構成を採用することができる。
【0022】
OLT10は、局側に設置される光回線終端装置である。OLT10は光ファイバ幹線40によって光スプリッタ30に接続されるとともに、上位ネットワーク100と接続される。OLT10と上位ネットワーク100を接続する方法は光ファイバによる接続に限定されず、金属線を用いた電気回線による接続であってもよい。
【0023】
n個のONU20は、加入者側に設置される光回線終端装置である。n個のONU20は光ファイバ支線50によって光スプリッタ30と接続されるとともに、m個のユーザ端末70と接続される。なお
図1では説明を容易にするために1台のONU20に1つのユーザ端末70が接続される構成(n=m)を例示しているが、1台のONU20に複数のユーザ端末を接続する構成(n<m)としてもよい。
【0024】
光スプリッタ30は、OLT10から受信する下り信号を各ONU20向けに分岐したり、各ONU20から受信する上り信号を多重してOLT10に与えたりする。
【0025】
光通信システム1において、OLT10からONU20への下り通信と、ONU20からOLT10への上り通信には、それぞれ異なる波長を用いたWDM(Wavelength Division Multiplexing)方式を採用している。またOLT10から複数のONU20への下り通信はブロードキャスト方式である。そのため、OLT10は複数のONU20のそれぞれに識別子としてLLID(Logical Link ID)を割り当ててLLIDを各ONUに通知するとともに、OLT10はONU20宛の下り信号に割り当てたLLIDを埋め込む。ONU20はOLT10より受信した下り信号のうち自身に割り当てられたLLIDが埋め込まれた信号を取り込み、自身宛以外の信号は廃棄する。また1本の光ファイバ幹線40を光スプリッタ30で分岐しているため、ONU20からOLT10への上り通信の衝突を回避する必要がある。そのため上り通信にはTDMA(Time Division Miltiple Access)方式を採用している。
【0026】
管理装置60は、OLT10と例えばLAN(Local Area Network)を用いて接続される。管理装置60はOLT10を保守管理するための装置である。例えばOLT10は、OLT10自身の動作状態や光通信システム1における上り下りデータの通信速度等の情報を保持し、管理装置60はこれら情報をOLT10から受信することで光通信システム1の運用状態を監視する。また管理装置60は、OLT10へ制御データを送信することでOLT10を制御してもよい。
【0027】
m個のユーザ端末70は、ONU20と接続される。ユーザ端末70とONU20との接続方法は、例えば有線LANや無線LANが挙げられる。ユーザ端末70は加入者が操作する任意の情報端末であり、例えばパーソナルコンピュータや携帯端末、通信機能を備える家電などが挙げられる。
【0028】
(A‐1‐2)OLT10の内部構成
図2は本発明の各実施形態(第1の実施形態を含む)に係るOLTの内部構成を示す構成図である。
図2においてOLT10は、光受信部110、受信処理部120、NNI(Network Node Interface)130、送信処理部140、光送信部150、処理部160、外部IF170を有する。
【0029】
光受信部110は、ONU20から光ファイバ支線50、光スプリッタ30、光ファイバ幹線40を経由して光信号を受信し、光信号を電気信号に変換して受信処理部120に与える。
【0030】
受信処理部120は、処理部160の制御のもと光受信部110から与えられる信号に対して例えばシリアル・パラレル変換、誤り訂正等の受信処理を行う。受信処理部120が受信処理する信号は、ユーザ端末70から上位ネットワーク100へ向けて送信される情報や、ONU20から受信される認証用パスワード、演算用関数および新たな認証用パスワードを含む。なお認証用パスワード、演算用関数および新たな認証用パスワードの詳細は後述する。
【0031】
NNI130は、OLT10と上位ネットワーク100を接続するインタフェースである。NNI130として、例えば既存のイーサネット(登録商標)のインタフェースが適用可能である。NNI130は、受信処理部120から上位ネットワーク100宛の信号を受け取って上位ネットワーク100に送信したり、上位ネットワーク100から受け取った信号を送信処理部140に与えたりする。
【0032】
送信処理部140は、処理部160の制御のもと上位ネットワーク100から与えられる信号や、処理部160から与えられる信号に対して例えば符号化、誤り訂正、シリアル・パラレル変換等の送信処理を行う。送信処理部140が送信処理する電気信号は、上位ネットワーク100からユーザ端末70へ向けて送信される情報や、ONU20へ向けて送信される演算結果の情報を含む。なお演算結果の情報について詳細は後述する。
【0033】
光送信部150は、送信処理部140から電気信号を受信し、電気信号を光信号に変換して光ファイバ幹線40に送出する。光送信部150により送出された光信号は、光ファイバ幹線40、光スプリッタ30、光ファイバ支線50を経由してONU20により受信される。
【0034】
処理部160は、本実施例においてONU20がOLT10の正当性を確認するための、OLT10側の機能を司るものである。処理部160は、例えばCPU(Central Processing Unit)などの制御手段、ROM(Read only memory)、RAM(Random access memory)、EEPROM(Electrically Erasable Programmable Read‐Only Memory)、入出力インタフェース等を有するものであり、CPUがROMに格納されるプログラムを実行することにより、OLT10の機能が実現される。
【0035】
外部IF170は、OLT10と管理装置60とを接続するインタフェースである。外部IF170は処理部160と接続される。外部IF170は、処理部160からOLT10が保持するOLT10の動作状態や光通信システム1における上り下りデータの通信速度等の情報を受け取り、これを管理装置60へ送信する。また外部IF170は管理装置60から制御データを受信し、処理部160に与える。
【0036】
図3は、第1の実施形態のOLT10における処理部160の機能ブロック図である。
【0037】
図3において処理部160は、認証部1610、演算部1620、記憶部1630を有する。なお
図3において認証部1610、演算部1620、記憶部1630はバス線1640によって接続されている。
【0038】
認証部1610は、ONU20から受信する認証用パスワードと、記憶部1630に予め記憶されるONU20の認証用パスワードとに基づいてONU20の認証処理を行う。認証部1610の動作の詳細は後述する。
【0039】
演算部1620は、ONU20から受信する演算用関数と、記憶部1630に予め記憶されるONU20に紐付けられた演算用パスワードとに基づいて演算を行う。ここで演算用関数は、所定の値が代入されると一意的な値(演算結果)が導出されるものである。本実施例において演算用関数の種類は限定されるものではないが、演算結果から代入した値を逆算することが困難である性質をもつ一方向性関数等の関数を用いるのが好ましい。演算部1620は、ONU20から受信する演算用関数に記憶部1630に記憶される演算用パスワードを代入して演算結果を得る。なお本実施例ではONU20が予め演算用関数を保持し、例えば記憶部1630に演算用関数が記憶されていてもよい。
【0040】
記憶部1630は、ONU20のMACアドレス、MACアドレスに紐付けたれた認証用パスワードおよび演算用パスワードを記憶する。記憶部1630は、一例として上述したEEPROMなどの記憶装置によって実現される。
図3に示すように記憶部1630は、n個のONU20それぞれのMACアドレスと認証用パスワードおよび演算用パスワードとが紐付けられたn個のテーブル1631(1631‐1〜1631‐n、nは1以上の整数であって光通信システム1におけるONU20の数に等しい)を記憶する。このn個のONU20毎に記憶される認証用パスワードおよび演算用パスワードは、対応するMACアドレスを有するONU20にも共通のものが記憶される。認証用パスワードおよび演算用パスワードは、認証部1610および演算部1620の動作に利用されるが、詳細は後述する。なお本実施例においては、上述のとおり記憶部1630に演算用関数を記憶していてもよい。
【0041】
以上、第1の実施形態におけるOLT10の内部構成について説明した。続いて、第1の実施形態におけるONU20の内部構成を説明する。
【0042】
(A‐1‐3)ONU20の内部構成
図4は本発明の各実施形態に係るONUの内部構成を示す構成図である。
図2においてONU20は、光受信部210、受信処理部220、UNI230、送信処理部240、光送信部250、処理部260を有する。
【0043】
光受信部210は、OLT10から光ファイバ幹線40、光スプリッタ30、光ファイバ支線50を経由して光信号を受信し、光信号を電気信号に変換して受信処理部220に与える。
【0044】
受信処理部220は、処理部260の制御のもと光受信部210から与えられる信号に対して例えばシリアル・パラレル変換、誤り訂正等の受信処理を行う。受信処理部220が受信処理する信号は、上位ネットワーク100からユーザ端末70に向けて送信される情報や、OLT10から受信する認証許可通知および演算結果の情報を含む。なお認証許可通知および演算結果の情報について、詳細は後述する。
【0045】
UNI(User Network Interface)230は、ONU20とユーザ端末70を接続するインタフェースである。UNI230として、例えば既存のイーサネット(登録商標)のインタフェースが適用可能であり、ONU20とユーザ端末70は有線LANや無線LANなどを用いて接続される。UNI230は、受信処理部220からユーザ端末70宛の信号を受け取ってその信号をユーザ端末70に送信したり、またはユーザ端末70から受け取った信号を送信処理部240に与えたりする。
【0046】
送信処理部240は、処理部260の制御のもと、ユーザ端末70から与えられる信号や、処理部260から与えられる信号に対して例えば符号化、誤り訂正、シリアル・パラレル変換等の送信処理を行う。送信処理部240が送信処理する信号は、ユーザ端末70から上位ネットワーク100へ向けた情報や、処理部260からのOLT10へ向けた認証用パスワードおよび演算用関数を含む。
【0047】
光送信部250は、送信処理部240から電気信号を受信し、電気信号を光信号に変換して、光ファイバ支線50に送信する。
【0048】
処理部260は、本発明においてONU20がOLT10の正当性を確認するための、ONU20側の機能を司るものである。処理部260は、例えばCPU、ROM、RAM、EEPROM、入出力インタフェース等を有するものであり、CPUがROMに格納されるプログラムを実行することにより、ONU20の機能が実現される。
【0049】
図5は、第1の実施形態のONU20における処理部260の機能ブロック図である。
【0050】
図5において処理部260は、要求部2610、演算部2620、判定部2630、認証用パスワード生成部2640、記憶部2650を有する。なお
図5において認証部2610、演算部2620、判定部2630、認証用パスワード生成部2640、記憶部2650はバス線2660によって接続されている。
【0051】
要求部2610は、ONU20からOLT10へ送信された認証用パスワードと、OLT10に記憶される認証用パスワードを用いたONU20の認証要求をOLT10に要求する。また要求部2610は演算用関数を用いた演算実行と演算結果の応答をOLT10に要求する。なお、OLT10がONU20から認証用パスワードを受信したことを契機にONU20を認証するよう予めOLT10の動作が規定されていれば、要求部2610によるONU20の認証要求の送信を省略してもよい。
【0052】
演算部2620は、要求部2610による要求に伴ってOLT10に通知された演算用関数と、記憶部2650に予め記憶される演算用パスワードとに基づいて演算を実行する。ONU20の演算部2620が行う演算は、上述したOLT10の演算部1620が行う演算と同様である。即ち演算部2620は、OLT10に通知された演算用関数に記憶部2650に記憶される演算用パスワードを代入して演算結果を得る。
【0053】
判定部2630は、OLT10から受信した演算結果と、演算部2620による演算結果とを比較する。判定部2630は、双方の演算結果が一致する場合に真と判定し、一致しない場合は偽と判定する。判定部2630は真の判定をすると、認証用パスワード生成部2640に判定結果を通知する。なお判定部2630は、OLT10から受信した演算結果が判定部2630の期待する演算結果と整合すれば真と判定し、OLT10から受信した演算結果が判定部2630の期待する演算結果と不整合であれば偽と判定するようにしてもよい。例えば、演算部2620による演算結果Aに対してOLT10の演算結果Bを期待するものとし、実際にOLT10から受信した演算結果が期待する演算結果Bであるか否かによって判定してもよい。
【0054】
認証用パスワード生成部2640は、判定部2630から真の判定結果を受けると、記憶部2650に記憶される認証用パスワードと異なる、新たな認証用パスワード(以降、新認証用パスワードと称する)を生成する。新認証用パスワードを生成する方法としては、ハッシュ関数(h[x])など所定の一方向性関数に10進数、16進数、2進数等で表現される所定の値(x)を代入し、ハッシュ関数の計算結果(h[x])を新たな認証用パスワードとしてもよい。また、認証用パスワード生成部2640に乱数発生器(図示せず)を具備させて乱数を発生させ、この乱数を新認証用パスワードとしてもよい。
【0055】
記憶部2650は、ONU20のMACアドレス、MACアドレスに紐付けられた認証用パスワードおよび演算用パスワードを記憶する。記憶部2650は一例として上述したEEPROMなどの記憶装置によって実現される。
図5に示すように記憶部2650は、ONU20自身のMACアドレスと認証用パスワードおよび演算用パスワードとが紐付けられたテーブル2651を保持する。なお、ONU20の記憶部2650に記憶される認証用パスワードおよび演算用パスワードと共通のものが、OLT10の記憶部1630にも記憶される。認証用パスワードおよび演算用パスワードは、要求部2610および演算部2620による動作に利用されるが、詳細は後述する。
【0056】
(A‐2)第1の実施形態の通信シーケンス
続いて、第1の実施形態に係る光通信システムにおける動作を、図面を参照しながら詳細に説明する。
【0057】
(A‐2‐1)OLT‐ONU間の初回認証
図6は、第1の実施形態におけるOLT‐ONU間の初回接続時における通信のやり取りを示すシーケンス図、およびOLTとONUそれぞれの記憶部の状態を示す図である。
【0058】
OLT10とONU20とが初めて接続されるにあたり、ONU20の記憶部2650は、テーブル2651に自身のMACアドレス「MAC1」と初回接続における認証用パスワード「Local」を保持し、演算用パスワードは保持していないものとする(
図6の61)。またOLT10の記憶部1630は、ONU20のMACアドレス「MAC1」に対応するテーブル1631に、ONU20のMACアドレス「MAC1」と初回接続における認証用パスワード「Local」を保持し、演算用パスワードは保持していないものとする(
図6の62)。なお、OLT10とONU20とが初回接続されるあたり、例えば回線工事の現場担当者がOLT10にONU20のMACアドレス「MAC1」を記憶させ、OLT10とONU20の双方に初回接続における認証用パスワード「Local」を設定するようにしてもよい。
【0059】
OLT10とONU20が光ファイバ幹線40、光ファイバ支線50、光スプリッタ30を介して接続され光信号の送受信が可能となると、OLT10とONU20との間でP2MP Discoveryプロセスが実行される(S101)。OLT10はP2MP DiscoveryプロセスによってONU20を検出し、検出したONU20に対して光通信システム1におけるn個のONU(
図1のONU20‐1〜ONU20‐n)を識別するためのLLIDを割り当てる。前述のとおり、OLT10からONU20へ送信される下り信号にはLLIDが埋め込まれている。これによりONU20は、OLT10から受信する下り信号からONU20自身宛である下り信号を選別し取り込むことが可能となる。またP2MP DiscoveryプロセスによってOLT10とONU20の間における信号伝送の往復伝送時間(RTT:Round Trip Time)が測定される。またOLT10とONU20は内部に時刻同期のためのカウンタ(図示せず)を備えており、OLT10とONU20のカウンタの双方は、測定されたRTTの分だけ異なる値でカウントを行う。これによりOLT10とONU20との間で時刻同期が行われる。このようにしてOLT10とONU20との間にS101以降の通信を行うための通信リンクが設けられる。
【0060】
次いで、OLT10とONU20との間でOAM Discoveryプロセスが実行される(S102)。OLT10はOAM DiscoveryプロセスによってONU20におけるOAM機能(保守管理機能)の対応状況を把握する。
【0061】
次いで、ONU20はOLT10に自身のMACアドレス「MAC1」と認証用パスワード「Local」を送信するとともに、この認証用パスワードによる認証要求をOLT10に送信する(S103)。なお上述のとおり、OLT10がONU20から認証用パスワードを受信したことを契機にONU20を認証するよう予めOLT10の動作が規定されていれば、ONU20は少なくとも自身のMACアドレスと認証用パスワードをOLT10へ送信すればよく、ONU20による認証要求の送信を省略してもよい。
【0062】
OLT10は、ONU20からMACアドレス、認証用パスワードおよび認証要求を受信すると、記憶部1630のテーブル1631‐1〜1631‐nのうちから、ONU20から受信したMACアドレス「MAC1」に対応するテーブル(
図6の62)を特定する。そして、テーブルに保持される認証用パスワードと、ONU20から受信した認証用パスワードとが一致しているか否かを判定する。
図6の62において、OLT10が保持する認証用パスワード「Local」は、ONU20から受信した認証用パスワード「Local」と一致している。OLT10は、ONU20に認証許可通知を送信する(S104)。なおOLT10の動作について、ONU20から認証用パスワードを受信したことを契機にONU20を認証するよう予め規定される場合は、OLT10はONU20から認証要求を受信せずとも、上記の認証処理を行うようにしてもよい。
【0063】
ONU20は、OLT10から認証許可通知を受信すると、認証用パスワード生成部2640にて新認証用パスワード「A」を生成し、これをOLT10へ通知する(S105)。新認証用パスワード「A」を生成するにあたり、例えば上述したようにハッシュ関数を用いてもよい。具体的には、S104でONU20が認証許可通知を受信した時間Tをハッシュ関数h[x]に代入した計算結果h[T]を新認証用パスワード「A」としてもよい。またONU20が記憶部2650に記憶する認証用パスワード「Local」をハッシュ関数h[x]に代入した計算結果h[Local]を新認証用パスワード「A」としてもよい。またONU20のMACアドレス「MAC1」をハッシュ関数h[x]に代入した計算結果h[MAC1]を新認証用パスワード「A」としてもよい。なおハッシュ関数h[x]を用いて新認証用パスワード「A」を生成する場合において、ハッシュ関数h[x]に代入する値xは上述した例に限定されるものではない。また例えば上述したように認証用パスワード生成部2640に乱数発生器を具備させ(図示せず)、発生させた乱数を新認証用パスワード「A」としてもよい。ONU20はS105で新認証用パスワード「A」をOLT10へ通知し、記憶部2650に記憶される認証用パスワード「Local」を新認証用パスワード「A」に置き換えるとともに、S103でOLT10へ送信した古い認証用パスワード(
図6の61における「Local」)を演算用パスワードとして保持する(
図6の63)。記憶部2650に記憶される認証用パスワードを置き換える処理、および記憶部2650に演算用パスワードを保持する処理は、処理部260(
図4)が備える図示しない制御手段(上述のCPUなど)によって実行される。
【0064】
OLT10は、ONU20から新認証用パスワード「A」を受信すると、記憶部1630に記憶される認証用パスワード「Local」を新認証用パスワード「A」に置き換えるとともに、S103でONU20から受信した古い認証用パスワード(
図6の62における「Local」)を演算用パスワードとして保持する(
図6の64)。記憶部1630に記憶される認証用パスワードを置き換える処理、および記憶部1630に演算用パスワードを保持する処理は、処理部160(
図2)が備える図示しない制御手段(上述のCPUなど)によって実行される。そしてOLT10はONU20に、新認証用パスワードおよび演算用パスワードの変更が完了したことを通知する(S106)。
【0065】
ONU20がOLT10からS106による通知を受信すると、初回接続時の認証シーケンスが終了する。S106以降においては、従来の光通信システムと同様に、OLT10がONU20に対してDBA(Dynamic Bandwidth Allocatin)機能により帯域割り当てを行い、ONU20はOLT10から指定された帯域および送信タイミングに従って通信を行う。
【0066】
なお、ONU20による認証用パスワード、認証要求、新認証用パスワードの送信は、例えばIEEE802.3ahにて規定される拡張OAMフレームに基づいてフレームを生成し送信するようにしてもよい。OLT10による認証許可通知、パスワード保持完了通知の送信も、例えばIEEE802.3ahにて規定される拡張OAMフレームに基づいてフレームを生成し送信するようにしてもよい。また、OLT10およびONU20における演算用パスワードの変更規則、即ち第1の実施形態では古い認証用パスワード(
図6の62における「Local」)を演算用パスワードとして保持することを、OLT10とONU20との間で予め共有するようにしてもよい。例えば、本実施例に係るOLT10とONU20のファームウェアに製造段階で演算用パスワードの変更規則を組み込んでもよい。また例えば、
図6に示すOLT‐ONU間の初回接続時の通信において、任意のタイミングで(例えばS105と併せて)、演算用パスワードの変更規則をONU20からOLT10へ通知するようにしてもよい。
【0067】
(A‐2‐2)OLTとONUの再接続時における認証
次いで
図7を参照して、OLT10とONU20との接続(通信リンク)が切断された以降において、OLT10とONU20とが再接続された場合(通信リンクが復旧した場合)の認証を説明する。
図7は、第1の実施形態におけるOLT‐ONU間の再接続時における通信のやり取りを示すシーケンス図、およびOLTとONUそれぞれの記憶部の状態を示す図である。
【0068】
図6に示したように初回接続時のS106以降において、OLT10とONU20は認証用パスワード「A」と演算用パスワード「Local」を共通して保持している。
図7は、OLT10とONU20が共に認証用パスワード「A」と演算用パスワード「Local」を保持した状態で、OLTまたはONUそのもの、もしくはOLTとONUを結ぶ通信区間で障害が発生してONU20とOLT10との接続が切断され、ONU20が切断前と同一のOLT10に再度接続される場合を示している。
【0069】
OLT10とONU20が光ファイバ幹線40、光ファイバ支線50、光スプリッタ30を介して再接続され光信号の送受信が可能となると、OLT10とONU20との間でP2MP Discoveryプロセスが行われ(S201)、またOAM Discoveryプロセスが実行される(S202)。
【0070】
次いで、ONU20はOLT10に自身のMACアドレス「MAC1」と認証用パスワード「A」を送信するとともに、この認証用パスワードによる認証要求をOLT10に送信する(S203)。
【0071】
OLT10は、ONU20からMACアドレス、認証用パスワードおよび認証要求を受信すると、記憶部1630のテーブル1631‐1〜1631‐nのうち、ONU20から受信したMACアドレス「MAC1」に対応するテーブル(
図7の72)を特定する。そして、当該テーブルに保持される認証用パスワードと、ONU20から受信した認証用パスワードとが一致しているか否かを判定する。
図7の72においては、OLT10が保持する認証用パスワード「A」は、ONU20から受信した認証用パスワード「A」と一致している。OLT10は、ONU20に認証許可通知を送信する(S204)。
【0072】
ONU20は、OLT10から認証許可通知を受信すると、所定の演算用関数をOLT10に送信するとともに、OLT10が保持する演算用パスワードと演算用関数を用いて演算し、演算結果を返答する要求(演算結果応答要求)を、OLT10に送信する(S205)。またONU20は、演算部2620にてOLT10に送信した演算用関数とONU20の記憶部2650に保持される演算用パスワードとを用いて演算を行い、演算結果を保持する。
【0073】
OLT10は、ONU20から演算用関数および演算結果応答要求を受信すると、演算部1620にて演算用関数と記憶部1630に記憶される演算用パスワードを用いて演算を行う。OLT10は演算結果をONU20へ送信する(S206)。
【0074】
ONU20は、OLT10から演算結果を受信すると、判定部2630にて、OLT10から受信した演算結果とONU20の演算部2620による演算結果が一致するか否かを判定する。
図7の71においてONU20が保持する演算用パスワードは「Local」であり、また
図7の72においてOLT10が保持する演算用パスワードも「Local」である。従ってONU20とOLT10の双方の演算結果は一致するので、判定部2630は真と判定する。ONU20は、判定部の判定結果が真であれば認証用パスワード生成部2640にて新認証用パスワード「B」を生成し、これをOLT10へ通知する(S207)。なおOLT‐ONU間の初回認証時(
図6)と同様に、ハッシュ関数h[x]を用いて新認証用パスワード「B」を生成してもよい。具体的には、S206でONU20が演算結果応答を受信した時間Tをハッシュ関数h[x]に代入した計算結果h[T]を新認証用パスワード「B」としてもよい。またONU20が記憶部2650に記憶する認証用パスワード「A」をハッシュ関数h[x]に代入した計算結果h[A]を新認証用パスワード「B」としてもよい。また例えば上述したように認証用パスワード生成部2640に乱数発生器を具備させ(図示せず)、発生させた乱数を新認証用パスワード「B」としてもよい。なおハッシュ関数を用いて新認証用パスワード「B」を生成する場合において、ハッシュ関数h[x]に代入する値xは上述した例に限定されるものではない。ONU20はS207で新認証用パスワード「B」をOLT10へ通知し、記憶部2650に記憶される認証用パスワード「A」を新認証用パスワード「B」に置き換えるとともに、S203でOLT10へ通知した古い認証用パスワード(
図7の71における「A」)を演算用パスワードとして保持する(
図7の73)。なお古い演算用パスワード(
図7の71における「Local」)は破棄される。
【0075】
OLT10は、ONU20から新認証用パスワード「B」を受信すると、記憶部1630に記憶される認証用パスワード「A」を新認証用パスワード「B」に置き換えるとともに、S203でONUから受信した古い認証用パスワード(
図7の72における「A」)を演算用パスワードとして保持する(
図7の74)。なお古い演算用パスワード(
図7の72における「Local」)は破棄される。そしてOLT10はONU20に、新認証用パスワードおよび演算用パスワードの変更が完了したことを通知する(S208)。
【0076】
S208でONU20がOLT10から通知を受信すると、再接続時の認証シーケンスが終了する。S208以降においては、従来の光通信システムと同様に、OLT10がONU20に対してDBA機能により帯域割り当てを行い、ONU20はOLT10から指定された帯域および送信タイミングに従って通信を行う。
【0077】
なお、ONU20による演算用関数、演算結果応答要求の送信は、例えばIEEE802.3ahにて規定される拡張OAMフレームに基づいてフレームを生成し送信するようにしてもよい。OLT10による演算結果応答の送信も、例えばIEEE802.3ahにて規定される拡張OAMフレームに基づいてフレームを生成し送信するようにしてもよい。
【0078】
(A‐2‐3)ONUと不正OLTとが接続された場合
続いて、OLT10とONU20との接続(通信リンク)が切断された以降において、ONU20が再接続しようとする対向装置が不正OLTとなった場合のシーケンスを説明する。
図8は本発明の各実施形態(第1の実施形態を含む)に係る光通信システムにおいて、不正OLTが接続された際の接続構成の例を示す構成図である。
図9は、第1の実施形態において、不正OLTとONUとが接続された際の通信のやり取りを示すシーケンス図、および不正OLTとONUそれぞれの記憶部の状態を示す図である。
【0079】
図8は、OLT10とONU20との接続が切断された以降において、OLT10と光スプリッタ30とを繋ぐ光ファイバ幹線40が切断されてOLT10光とスプリッタ30との物理的な接続が失われ、代わりに不正OLT80が光ファイバ41を用いて光スプリッタ30に接続された様子を示している。ここでの不正OLTとは、接続されるONU20が如何なるMACアドレスと認証用パスワードを有していても無条件で認証許可を通知し、ONU20から送信されるデータを吸い上げようとする装置である。なお光通信システム1におけるOLT10が、例えば不正プログラムによって改変され、不正OLT80に成り代わることも想定されるが(図示せず)、その場合におけるONU20と不正OLT80との間の通信シーケンスも、以下に説明するものと同様である。
【0080】
図9では、
図6に示すOLT10とONU20の初回接続時の認証シーケンスが終了し、ONU20は認証用パスワード「A」と演算用パスワード「Local」を保持しているものとする(
図9の91)。また不正OLT80は、ONU20のMACアドレス「MAC1」に対応する認証用パスワードおよび演算用パスワードを保持せず、不正OLT80は不正な認証用パスワード「X1」および不正な演算用パスワード「X2」を保持しているものとする(
図9の92)。
【0081】
不正OLT80とONU20が光ファイバ幹線40、光ファイバ支線50、光スプリッタ30を介して接続され光信号の送受信が可能となると、不正OLT80とONU20との間でP2MP Discoveryプロセスが行われ(S301)、またOAM Discoveryプロセスが実行される(S302)。
【0082】
ONU20は不正OLT80に、自身のMACアドレス「MAC1」と認証用パスワード「A」を送信するとともに、この認証用パスワードによる認証要求を不正OLT80に送信する(S303)。
【0083】
不正OLT80は、接続されるONU20が如何なるMACアドレスと認証用パスワードを有していても無条件で認証許可をONU20に送信する。そのため、不正OLT80はS303でONU10から受信したMACアドレスと認証用パスワードに依らずに、認証許可通知をONU20に送信する(S304)。
【0084】
ONU20は、不正OLT80から認証許可通知を受信すると(ただしこの時点でONU20は、対向装置が不正OLT80であることを未だ判定していない)、所定の演算用関数を不正OLT80に送信するとともに、正当なOLT10が保持するべき演算用パスワードと演算用関数を用いて演算し、演算結果を返答する要求(演算結果応答要求)を、不正OLT80に送信する(S305)。またONU20は、演算部2620にて不正OLT80に送信した演算用関数とONU20の記憶部2650に保持される演算用パスワードとを用いて演算を行い、演算結果を保持する。
【0085】
不正OLT80は、正当なOLT10が保持するべき演算用パスワード、即ち
図6の64における演算用パスワード「Local」を保持していない。従って不正OLT80における演算用関数の演算結果は、正当なOLT10が演算した場合における演算結果と一致しない(換言すると不正OLT80は不正な演算結果を導出する)。結果として不正OLT80は、ONU10に不正な演算結果を送信する(S306)。
【0086】
ONU20は不正OLT80から演算結果を受信すると、判定部2630にて、受信した不正OLT80による演算結果とONU20の演算部2620による演算結果が一致するか否かを判定する。
図9の91においてONU20が保持する演算用パスワードは「Local」であるのに対し、
図9の92において不正OLT80が保持する演算用パスワードは「X2」である。従ってONU20と不正OLT80の演算結果は一致しないので、判定部2630は偽と判定する。ONU20は判定部2630が偽と判定したことを受け、ONU20と接続されるユーザ端末70に、ONU20自身に接続される対向装置を不正OLT80と判定したこと(換言すると不正OLT80を検知したこと)を通知する(S307)。
【0087】
ONU20はユーザ端末70に、不正OLT80を検知したことを示す情報(例えばエラーコード等)を送信することで、不正OLT80の検知通知(S307)を行ってもよい。またONU20はユーザ端末70に、ユーザ端末70の画面上に不正OLT80を検知したことを示す通知画面を表示させる情報を送信してもよい。通知画面は、例えばユーザ端末70にインストールされるOS(Operating System)において規定されるユーザ端末70の通知領域に、アイコンやメッセージを表示するものであってもよいし、例えばユーザ端末70が備えるWebブラウザにHTML(Hyper Text Markup Language)形式の画面を表示させるものであってもよい。
【0088】
ONU20がユーザ端末70に不正OLT80の検知を通知すると、不正OLT80とONU20との間の通信シーケンスは終了する。S307以降においては、ONU20の処理部260は不正OLT80の識別子(例えばMACアドレスやIPアドレス)を記憶部2650に保持させ、そしてONU20は当該識別子を有する不正OLT80との間の通信、即ち不正OLT80への信号送信および不正OLT80からの信号受信を行わないようにし、不正OLT80との通信を遮断するようにしてもよい。
【0089】
以上、
図9に示す通信シーケンスによれば、ONU20は、ONU20自身に接続される対向装置が不正OLT80であることを判定し、その判定結果をユーザ端末70に通知することができる。
【0090】
なお、
図7に示すONU20とOLT10との再接続シーケンスが終了した以降に再びONU20とOLT10との接続が切断され、再々接続時にOLT10が不正OLT80に置き換わった場合でも、ONU20が不正OLT80を検出するシーケンスは、ONU20が保持する認証用パスワードと演算用パスワードが異なる他は
図9と同様である。
【0091】
(A‐2‐4)OLTと不正ONUとが接続された場合
続いて、
図10を参照して、OLT10とONU20との接続(通信リンク)が切断された以降において、OLT10に不正ONUが接続しようとする場合のシーケンスを説明する。
図10は、第1の実施形態において、OLTと不正ONUとが接続された際の通信のやり取りを示すシーケンス図、およびOLTと不正ONUそれぞれの記憶部の状態を示す図である。
【0092】
ここで不正ONUとは、何らかの原因によって漏洩した正当なONUのMACアドレスを保持した装置である。
図10における不正ONU90は正当なONU20のMACアドレスを保持し、ONU20になりすましてOLT10と接続し不正に光通信システム1を利用しようとするものである。
【0093】
図10では、
図6に示すOLT10とONU20の初回接続時の認証シーケンスが終了し、OLTは認証用パスワード「A」と演算用パスワード「Local」を保持しているものとする(
図10の102)。また不正ONU90は、ONU20のMACアドレス「MAC1」を保持し、不正な認証用パスワード「X3」を保持しているものとする(
図10の101)。
【0094】
OLT10と不正ONU90が光ファイバ幹線40、光ファイバ支線50、光スプリッタ30を介して接続され光信号の送受信が可能となると、OLT10と不正ONU90との間でP2MP Discoveryプロセスが行われ(S301)、またOAM Discoveryプロセスが実行される(S302)。
【0095】
不正ONU90はOLT10に、ONU20を模倣したMACアドレス「MAC1」と不正な認証用パスワード「X1」を送信するとともに、この認証用パスワードによる認証要求をOLT10に送信する(S403)。
【0096】
OLT10は、不正ONU90から認証用パスワードおよび認証要求を受信すると(ただしこの時点でOLT10は、対向装置が不正ONU90であることを未だ判定していない)、記憶部1630のテーブル1631‐1〜1631‐nのうち、不正ONU90から受信したMACアドレス「MAC1」に対応するテーブル(
図10の102)を特定する。そして、当該テーブルに保持される認証用パスワードと、不正ONU20から受信した認証用パスワードとが一致しているか否かを判定する。
図10の102においてOLT10が保持する認証用パスワードは「A」であり、不正ONU90から受信した認証用パスワード「X1」と一致しない。OLT10は不正ONU90に認証許可通知を送信せず、管理装置60に、OLT10自身に接続される対向装置を不正ONU90と判定したこと(換言すると不正ONU90を検知したこと)を通知する(S404)。
【0097】
OLT10は管理装置60に、不正ONU90を検知したことを示す情報(例えばエラーコード)を送信することで、不正ONU90の検知通知(S404)を行ってもよい。またOLT10は管理装置60に、管理装置60の画面上に不正ONU90を検知したことを示す通知画面を表示させる情報を送信してもよい。通知画面は、例えば管理装置60がパーソナルコンピュータを用いたものであれば、管理装置60にインストールされるOSにて規定されるユーザ端末70の通知領域に、アイコンやメッセージを表示するものであってもよい。また管理装置60がパーソナルコンピュータに専用の管理ソフトウェアをインストールしたものであれば、管理ソフトウェアにて規定される管理用画面にアイコンやメッセージを表示するものであってもよい。
【0098】
OLT10が管理装置60に不正ONU90の検知を通知すると、OLT10と不正ONU90との間の通信シーケンスは終了する。S404以降においては、OLT10の処理部160は不正ONU90の識別子(例えばMACアドレスやIPアドレス)を記憶部1630に保持させ、そしてOLT10は当該識別子を有する不正ONU90との間の通信、即ち不正ONU90への信号送信および不正ONU90からの信号受信を行わないようにし、不正ONU90との通信を遮断するようにしてもよい。
【0099】
以上、
図10に示す通信シーケンスによれば、OLT10は、OLT10自身に接続される対向装置が不正ONU90であることを判定し、その判定結果を管理装置60に通知することができる。
【0100】
なお、
図7に示すONU20とOLT10との再接続シーケンスが終了した以降に再びONU20とOLT10との接続が切断され、再々接続時にONU20に代わって不正ONU90がOLT10に接続しようとした場合も、OLT10が不正ONU90を検出するシーケンスは、OLT10が保持する認証用パスワードと演算用パスワードが異なる他は
図10と同様である。
【0101】
(A‐3)第1の実施形態の動作
続いて、上述した第1の実施形態の各通信シーケンスを実現するためのONUおよびOLTの動作フローを、図面を参照しながら説明する。
【0102】
(A‐3‐1)第1の実施形態のONUの動作フロー
図11は第1の実施形態のONUの動作フローを示すフローチャートである。上述した
図6、
図7、
図9のそれぞれに示す通信シーケンスにおいて、ONU20の動作は
図11に示すフローチャートで表される。
【0103】
ONU20はOLT10との間でP2MP Discoveryプロセス、およびOAM Discoveryプロセスを実行する(S501)。これは
図6のS101とS102、
図7のS201とS202、
図9のS301とS302に相当する。
【0104】
次いでONU20はOLT10に認証を要求する(S502)。この認証要求は、ONU20のMACアドレスとONU20が記憶する認証用パスワードが含まれる。認証の要求は要求部2610(
図5)によって行われる。S502の動作は
図6のS103、
図7のS203、
図9のS303に相当する。
【0105】
次いでONU20はOLT10から認証許可通知を受信したか否かを判定する(S503)。OLT10より認証許可通知を受信すると処理をS504へ進め、OLT10より認証許可通知を受信しない場合は、認証許可通知を受信するまで待機し、OLT10から認証許可通知を受信すれば処理をS504へ進める。
【0106】
ONU20はOLT10より認証許可通知を受信すると、受信時点でONU20の記憶部2650に演算用パスワードを保持しているかどうかを判定する(S504)。記憶部2650が演算用パスワードを保持している状態は、
図7の71または
図9の91に示す再接続時の状態に相当し、処理はS505へ進む。記憶部2650が演算用パスワードを保持していない状態は、
図6の61に示す初回認証時の状態に相当し、処理はS509へ進む。
【0107】
ONU20は、OLT10へ演算用関数を送信するとともに、OLT10に演算結果を応答するよう要求する(S505)。演算結果の応答要求は要求部2610(
図5)によって行われる。S505の動作は
図7のS205、
図9のS305に相当する。
【0108】
またONU20は、OLT10に送信した演算用関数と記憶部2650に記憶される演算用パスワードとに基づいて演算を行い、演算結果を保持する(S506)。演算は演算部2620(
図5)により行われる。
【0109】
ONU20は、OLT10から演算結果を受信したか否かを判定する(S507)。OLT10より演算結果を受信すると処理をS508へ進め、OLT10より演算結果を受信しない場合は、演算結果を受信するまで待機し、OLT10から演算結果を受信すれば処理をS508へ進める。
【0110】
ONU20は、OLT10から受信した演算結果とONU20自身による演算結果が一致するか否かを判定する(S508)。演算結果の判定は判定部2630(
図5)によって行われる。OLT10とONU20の双方の演算結果が一致する場合は処理をS509へ進める。なおS508の判定が肯定であることは、
図7に示すように再接続先のOLTは接続が切断される以前にONU20に接続されていたOLT10であることを意味する。OLT10とONU20の双方の演算結果が一致しない場合は処理をS511に進める。なおS508の判定が否定であることは、
図9に示すように再接続先のOLTは接続が切断される以前にONU20に接続されていたOLTではなく、不正OLT(
図8、
図9の不正OLT80)であることを意味する。
【0111】
ONU20は、新認証用パスワードを生成する(S509)。新認証用パスワードの生成は認証用パスワード生成部2640(
図5)によって行われる。ここでS508を経てS509で生成される新認証用パスワードは、
図7の73における認証用パスワード「B」に相当する。S504で判定が否定されて処理がS509へ進んだ場合、S509で生成される新認証用パスワードは
図6の63における認証用パスワード「A」に相当する。
【0112】
ONU20は、生成した新認証用パスワードをOLT10へ通知するとともに、記憶部2650を更新し、認証用パスワードを新演算用パスワードに置き換え、古い認証用パスワードを演算用パスワードとして保持する(S510)。S510における新認証用パスワードの通知は、
図6のS105、
図7のS207に相当する。S508およびS509を経てS510で行われる記憶部2650の更新は、
図7の73において認証用パスワード「B」が保持されるとともに演算用パスワード「A」が保持されることに相当する。なおS504で判定が否定されて処理がS509へ進み次いでS510へ進んだ場合、S510で行われる記憶部2650の更新は、
図6の63において認証用パスワード「A」が保持されるとともに演算用パスワード「Local」が保持されることに相当する。S510の処理が終了すると、
図11に示すONU20の動作は終了する。
【0113】
なおS508において判定が否定となり処理がS511に進むと、ONU20は不正OLT80を検知したことをユーザ端末70に通知する(S511)。ONU20は、S511の後、上述したように不正OLT80との間の通信、即ち不正OLT80への信号送信および不正OLT80からの信号受信を行わないようにし、不正OLT80との通信を遮断するようにしてもよい。S511の処理が終了すると、
図11に示すONU20の動作は終了する。
【0114】
(A‐3‐2)第1の実施形態のOLTの動作フロー
図12は第1の実施形態のOLTの動作フローを示すフローチャートである。上述した
図6、
図7、
図10のそれぞれに示す通信シーケンスにおいて、OLT10の動作は
図12に示すフローチャートで表される。
【0115】
OLT10はOLT20との間でP2MP Discoveryプロセス、およびOAM Discoveryプロセスを実行する(S601)。これは
図6のS101とS102、
図7のS201とS202、
図10のS401とS402に相当する。
【0116】
次いでOLT10はONU20から認証要求を受信したか否かを判定する(S602)。ONU20より認証要求を受信すると処理をS603へ進め、ONU20より認証要求を受信しない場合は、認証用旧を受信するまで待機し、ONU20から認証要求を受信すれば処理をS603へ進める。
【0117】
OLT10は認証要求を受信すると、ONU20より受信した認証要求に含まれる認証用パスワードと、OLT10が記憶するONU10のMACアドレスに紐付けられた認証用パスワードとが一致するか否かを判定する(S603)。この判定は認証部1610(
図3)によって行われる。ONU20から受信した認証用パスワードと、OLT10が記憶する認証用パスワードが一致する場合は処理をS604へ進める。なおS604の判定が肯定であることは、
図6または
図7に示すようにOLTに接続しようとするONUが正当なONUであることを意味する。ONU20から受信した認証用パスワードと、OLT10が記憶する認証用パスワードが一致しない場合は処理をS610に進める。なおS603の判定が否定であることは、
図10に示すようにOLTに接続しようとするONUが正当なONUではなく、不正ONU(
図10の不正ONU90)であることを意味する。
【0118】
OLT10は認証許可通知をONU20に送信する(S604)。これは
図6のS104、
図7のS204に相当する。
【0119】
OLT10はONU20に認証許可通知を送信した後に、ONU20から所定の演算用関数および演算結果の応答要求を受信したか否かを判定する(S605)。ONU20から演算用関数および演算結果の応答要求を受信した場合は処理をS606へ進め、受信しない場合は処理をS607へ進める。なお、S605の判定が肯定されて処理がS606へ進む場合、これは
図7に示すようにOLT10とONU20が再接続され、ONU20がOLT10の正当性の確認を試みていることに相当する。
【0120】
OLT10はONU20から受信した演算用関数および演算結果の応答要求に基づいて、演算を行い、演算結果をONU20に送信する(S606)。この演算は演算部1620によって行われ、演算部1620は演算用関数と記憶部1630に記憶されるONU20に紐付けられた演算用パスワードとを用いて演算を行う。演算結果の通知は、
図7の206に相当する。
【0121】
OLT10はONU20に演算結果を送信した以降に、ONU20から新認証用パスワードを受信したか否かを判定する(S607)。ONU20から新認証用パスワードを受信した場合は処理をS608へ進め、受信しない場合は新認証用パスワードを受信するまで待機し、ONU20から新認証用パスワードを受信すれば処理をS608へ進める。なおS605の判定が否定されて処理がS607へ進み、次いでS607でOLT10がONU20から新認証用パスワードを受信した場合、これは
図6に示すようにOLT10とONU20が初回接続されたことに相当する。
【0122】
OLT10は、ONU20から受信した新認証用パスワードに基づき、記憶部1630に記憶される認証用パスワードを新認証用パスワードに置き換え、古い認証用パスワードを演算用パスワードとして保持する(S608)。S605、S606およびS607を経てS608で行われる記憶部1630の更新は、
図7の74において認証用パスワード「B」が保持されるとともに演算用パスワード「A」が保持されることに相当する。なお、S605で判定が否定されて処理がS607に進み、S607でONU20から新認証用パスワードを受信した場合は、
図6の64において認証用パスワード「A」が保持されるとともに演算用パスワード「Local」が保持されることに相当する。
【0123】
OLT10は、記憶部1630の更新を終えると認証用パスワードおよび演算用パスワードの変更完了をONU20に通知する(S609)。これは
図6のS106、
図7のS208に相当する。S609の処理が終了すると、
図12に示すOLT10の動作は終了する。
【0124】
なおS603において判定が否定となり処理がS610に進むと、OLT10は不正ONU90を検知したことを管理装置60に通知する(S610)。OLT10は、S610の後、上述したように不正ONU90との間の通信、即ち不正ONU90への信号送信および不正ONU90からの信号受信を行わないようにし、不正ONU90との通信を遮断するようにしてもよい。S610の処理が終了すると、
図12に示すOLT10の動作は終了する。
【0125】
なお
図12において、OLT10がS604でONU20に認証許可通知を送信した後、S605で一定時間内にONU20から演算用関数および演算結果応答要求を受信しなかった場合は処理をS610へ進めるようにしてもよい。またOLT10がS606でONU20に演算結果を通知した後、S607で一定時間内にONU20から新認証用パスワードを受信しなかった場合は処理をS610へ進めるようにしてもよい。
【0126】
以上説明したように、
図11に示すフローチャートに基づきONU10が動作し、
図12に示すフローチャートに基づきOLT20が動作することによって、
図6、
図7、
図9、
図10に示すONU‐OLT間の通信シーケンスが実現される。
【0127】
(A‐4)第1の実施形態による効果
以上に説明した第1の実施形態によれば、OLT10とONU20との通信(通信リンク)が切断された以降にOLT10とONU20が再接続されると、OLT10によるONU20の認証が行われるとともに、更にONU20によってOLT10の正当性が確認される。このためONU20が再接続しようとする対向装置が不正OLT80に置き換わったとしても、ONU20は、ONU20自身に接続される対向装置が不正OLT80であることを判定する事ができる。従ってONU20が送信する情報が不正OLT80に漏洩することを防止できる。
【0128】
また、ONU20がOLT10の正当性を確認する度に新たな認証用パスワードが生成され、更にONU20とOLT10の双方が保持する認証用パスワードおよび演算用パスワードが更新される。このため、OLT10とONU20が保持するパスワードの一部が第三者に盗まれたとしても、第三者による不正な装置(不正OLTまたは不正ONU)の実現を困難なものとすることができる。例えば
図7に示すOLT10とONU20の再接続時において第三者が演算用パスワード「Local」(
図7の71)を盗み、盗んだ演算用パスワード「Local」を不正OLT80に設定し、次の再接続時に不正OLT80を光通信システム1に加えようとしても、次の再接続時において用いられる演算用パスワードは「A」(
図7の73)であるため不正OLT80はONU20からの演算要求に対して正当な演算結果を応答できない。従って不正OLT80はONU20により検知される。
【0129】
また例えば、
図7に示すOLT10とONU20の再接続時において第三者が認証用パスワード「A」(
図7の71)を盗み、盗んだ認証用パスワード「A」を不正ONU90に設定し、次の再接続時に不正ONU90を光通信システム1に加えようとしても、次の再接続時において用いられる認証用パスワードは「B」(
図7の73)であるため不正ONU90はOLT10に対して正しい演算用パスワードを送信できない。従って不正OLT90はOLT10により検知される。
【0130】
(B)第2の実施形態
以下、本発明の加入者側終端装置、局側終端装置、通信システム、加入者側終端装置のプログラムおよび局側終端装置のプログラムの第2の実施形態を、図面を参照しながら詳細に説明する。
【0131】
第1の実施形態において、ONU20はOLT10から受信した演算用関数の演算結果に基づきOLT10を認証し、新認証用パスワードを生成して新認証用パスワードをOLT10へ通知する(
図6のS105、
図7のS207)。またONU20は記憶部2650に記憶される認証用パスワードおよび演算用パスワードを更新するにあたり、認証用パスワードを新認証用パスワードに置き換えるとともに、古い認証用パスワードを演算用パスワードとして保持する(
図6の63、
図7の73)。OLT10も記憶部1630に記憶される認証用パスワードおよび演算用パスワードを更新するにあたり、認証用パスワードを新認証用パスワードに置き換えるとともに、古い認証用パスワードを演算用パスワードとして保持する(
図6の64、
図7の74)。
【0132】
これに対し第2の実施形態では、OLT10bとONU20bは初回接続時の通信シーケンスにおいて、OLT10bとONU20bとの間で共通である演算用パスワードの生成規則を保持する。またONU20bは認証用パスワードの生成規則を示す情報をOLT10bに通知する。さらにONU20bは記憶部に記憶される認証用パスワードと演算用パスワードを更新するにあたり、認証用パスワードを新認証用パスワードに置き換えるとともに、OLT10bと共通である演算用パスワードの生成規則に基づいて新演算用パスワード生成し、演算用パスワードを新演算用パスワードに置き換える。またOLT10bは、ONU20bから受信する認証用パスワードの生成規則を示す情報に基づいて新認証用パスワードを生成する。またOLT10bは記憶部に記憶される認証用パスワードと演算用パスワードを更新するにあたり、認証用パスワードを新認証用パスワードに置き換えるとともに、ONU20bと共通である演算用パスワードの生成規則に従って新演算用パスワードを生成し、演算用パスワードを新演算用パスワードに置き換える。
【0133】
(B‐1)第2の実施形態の構成
以下では説明のために、第2の実施形態に係るOLT10bとONU20bの構成と動作について、第1の実施形態に対して異なる部分を中心に説明する。
【0134】
(B‐1‐1)全体構成
第2の実施形態に係る光通信システム1bの全体構成は、
図1に示す第1の実施形態に係る光通信システム1と同様である。なお
図1においては、第2の実施形態に係るOLTをOLTとONUを、それぞれOLT10bおよびONU20bと示している。
【0135】
(B‐1‐2)OLT10bの内部構成
OLT10bの内部構成は、
図2に示す第1の実施形態に係るOLT10と同様である。ただし、OLT10bの処理部160bは、その機能ブロック図(後述の
図13)における構成が第1の実施形態におけるOLT10の処理部160と異なる。
【0136】
図13は、第2の実施形態のOLTにおける処理部の機能ブロック図である。
図13において処理部160bは、認証部1610b、演算部1620b、記憶部1630b、認証用パスワード生成部1650b、演算用パスワード1660bを有する。
図13において、処理部160bが認証用パスワード生成部1650b、演算用パスワード生成部1660bを備えること、および記憶部1630bが記憶する情報が、第1の実施形態におけるOLT10の処理部160と異なる。なお
図13において認証部1610b、演算部1620b、記憶部1630b、認証用パスワード生成部1650b、演算用パスワード1660bはバス線1640bによって接続されている。
【0137】
認証部1610b、演算部1620bは、
図3に示す第1の実施形態のOLT10が備える認証部1610、演算部1620と同様の機能を有する。
【0138】
認証用パスワード生成部1650bは、OLT10bがONU20bから受信する認証用パスワードの生成規則を示す情報に従って認証用パスワードを生成する。なお認証用パスワードの生成規則の詳細は後述する。
【0139】
演算用パスワード生成部1660bは、OLT10bとONU20bとが初回接続時に共通して保持する演算用パスワードの生成規則に従って演算用パスワードを生成する。なお演算用パスワードの生成規則の詳細は後述する。
【0140】
記憶部1630bは、ONU20bのMACアドレス、MACアドレスに紐付けたれた認証用パスワードおよび演算用パスワード、さらにMACアドレスに紐付けたれた演算用パスワードの生成規則を記憶する。記憶部1630bにおいて演算用パスワードの生成規則を記憶する点が、第1の実施形態における記憶部1630と異なる。
図13に示すように記憶部1630bは、ONU20b毎のMACアドレスに、認証用パスワード、演算用パスワードおよび演算用パスワードの生成規則のそれぞれが紐付けられたテーブル1631b(1631b‐1〜1631b‐n、nは1以上の整数であって光通信システム1におけるONU20の数に等しい)を保持する。このONU20b毎に記憶される認証用パスワード、演算用パスワード、演算用パスワードの生成規則は、対応するMACアドレスを有するONU20bにも共通のものが保持される。
【0141】
以上、第2の実施形態におけるOLT10bの内部構成について説明した。続いて、第2の実施形態におけるONU20bの内部構成を説明する。
【0142】
(B‐1‐3)ONU20bの内部構成
ONU20bの内部構成は、
図4に示す第1の実施形態に係るONU20と同様である。ただし、ONU20bの処理部260bは、その機能ブロック図(後述の
図14)における構成が第1の実施形態におけるOLT10の処理部260と異なる。
【0143】
図14は、第2の実施形態のONUにおける処理部の機能ブロック図である。
図14において処理部260bは、要求部2610b、演算部2620b、判定部2630b、認証用パスワード生成部2640b、記憶部2650b、演算用パスワード生成部2670bを有する。
図14において、処理部260bが演算用パスワード生成部2670bを備えること、および記憶部2650bが記憶する情報が、第1の実施形態におけるONU20の処理部260と異なる。なお
図14において要求部2610b、演算部2620b、判定部2630b、認証用パスワード生成部2640b、記憶部2650b、演算用パスワード生成部2670bはバス線2660bによって接続されている。
【0144】
要求部2610b、演算部2620b、判定部2630b、認証用パスワード生成部2640bは、
図5に示す第1の実施形態のONU20が備える要求部2610、演算部2620、判定部2630、認証用パスワード生成部2640と同様の機能を有する。
【0145】
記憶部2650bは、ONU20bのMACアドレス、MACアドレスに紐付けたれた認証用パスワードおよび演算用パスワード、さらにMACアドレスに紐付けたれた演算用パスワードの生成規則を記憶する。記憶部2650bにおいて演算用パスワードの生成規則を記憶する点が、第1の実施形態における記憶部2650と異なる。
図14に示すように記憶部2650bは、ONU20b自身のMACアドレス、認証用パスワード、演算用パスワード、および演算用パスワードの生成規則が記録されたテーブル2651bを保持する。なおOLT10bの記憶部1630bが保持するテーブル1631b‐1〜1631b‐nにも、ONU20bの記憶部2650bに記憶される認証用パスワード、演算用パスワード、および演算用パスワードの生成規則と共通のものが保持される。
【0146】
演算用パスワード生成部2670bは、OLT10bとONU20bとが初回接続時に共通して保持する演算用パスワードの生成規則に従って演算用パスワードを生成する。なお演算用パスワードの生成規則の詳細は後述する。
【0147】
(B‐2)第2の実施形態の通信シーケンス
続いて、第2の実施形態に係る光通信システムにおける動作を、図面を参照しながら詳細に説明する。
【0148】
(B‐2‐1)第2の実施形態におけるOLT‐ONU間の初回認証
図15は、第2の実施形態におけるOLT‐ONU間の初回接続時における通信のやり取りを示すシーケンス図、およびOLTとONUそれぞれの記憶部の状態を示す図である。
【0149】
OLT10bとONU20bとが初回接続されるにあたり、ONU20bの記憶部2650bは、テーブル2651bに自身のMACアドレス「MAC1」と初回接続における認証用パスワード「Local」を保持し、演算用パスワードは保持していないものとする(
図15の61b)。またOLT10bの記憶部1630bは、ONU20bのMACアドレス「MAC1」に対応するテーブル2651bに、ONU20bのMACアドレス「MAC1」と初回接続における認証用パスワード「Local」を保持し、演算用パスワードは保持していないものとする(
図15の62b)。なお第1の実施形態と同様に、例えば回線工事の現場担当者がOLT10bにONU20bのMACアドレス「MAC1」を記憶させ、OLT10bとONU20bの双方に初回接続における認証用パスワード「Local」を設定するようにしてもよい。
【0150】
図15に示す通信シーケンスにおいて、S101b、S102b、S103b、S104bのそれぞれは、
図6に示すシーケンス図のS101、S102、S103、S104と同様である。以下では、
図6に対する
図15の差分である部分について説明する。
【0151】
ONU20bは、S104bでOLT10bから認証許可通知を受信すると、演算用パスワードの生成規則をOLT10bに通知する(S107b)。演算用パスワードの生成規則の通知は、例えばONU20bとOLT10bとの間でハッシュ関数h1[x]を含む複数のハッシュ関数(h1[x]〜hl「x」)を予め共通して保持しておき、ONU20bはS107bの通知で、OLT10bにハッシュ関数h1[x]を用いて演算用パスワードを生成する指示を送信することで、演算用パスワードの生成規則を通知してもよい。またこの指示は、複数のハッシュ関数の各々を識別する番号等を指定するのが好ましい。
図15のS107bにおいては、ONU20bはOLT10bにハッシュ関数h1[x]を用いて演算用パスワードを生成する指示を送信する。ここで、S104bでOLT10より受信する認証許可通知は、S107bでONU20bがOLT10bへ信号(フレーム)を送信する指定時刻の情報を含んでいる。ここでは、指定時刻の値をT1とする。OLT10bはONU20bに送信した指定時刻T1を保持し、ONU20bはこの指定時刻T1にS107bの送信を行う。
【0152】
ONU20bはOLT10bへ通知した演算用パスワードの生成規則(複数のハッシュ関数のうちハッシュ関数h1[x]を用いること)に従い、演算用パスワード生成部2670bにて演算用パスワード「B」を生成する。ここでは、ONU20bはS107bでOLT10bへ使用を指示したハッシュ関数h1[x]に、S104bでOLT10bから受信した信号送信の指定時刻の値T1を代入して計算結果h1[T1]を得て、これを演算用パスワード「B」とする(B=h1[T1])。
【0153】
OLT10bは、ONU20bから演算用パスワードの生成規則(複数のハッシュ関数のうちハッシュ関数h1[x]を用いること)の通知を受信すると、演算用パスワードの生成規則を記憶部1630bに保持する。さらにOLT10bは、演算用パスワードの生成規則を受領した通知をONU20bに送信する(S108b)。ここで、S108bでONU20bへ送信する通知は、S105bでONU20bがOLT10bへ信号(フレーム)を送信する指定時刻の情報を含んでいる。ここでは、指定時刻の値をT2とする。OLT10bはONU20bに送信した指定時刻T2を保持し、ONU20bはこの指定時刻T2にS105bの送信を行う。
【0154】
ONU20bは、認証用パスワード生成部2640bにて新認証用パスワード「A」を生成する。さらにONU20bは新認証用パスワード「A」を生成するための認証用パスワードの生成規則をOLT10bに通知する(S105b)。認証用パスワードの生成規則の通知は、例えばONU20bとOLT10bとの間でハッシュ関数h2[x]を含む複数のハッシュ関数(h1[x]〜hl「x」)を予め共通して保持しておき、ONU20bはS105bの通知で、OLT10bにハッシュ関数h2[x]を用いて新認証用パスワードを生成する指示を送信することで、新認証用パスワードの生成規則を通知してもよい。ここではONU20bはOLT10bにハッシュ関数h2[x]を用いて新認証用パスワードを生成する指示を送信する。そしてONU20bは、ハッシュ関数h2[x]に、S108bでOLT10bから受信した信号送信の指定時刻の値T2を代入して、計算結果h2[T2]を得て、これを新認証用パスワード「A」とする(A=h2[T2])。
【0155】
ONU20bは、記憶部2650bに記憶される認証用パスワード「Local」を新認証用パスワード「A」に置き換え、生成した演算用パスワード「B」を演算用パスワードとして保持する(
図15の63b)。記憶部2650bに記憶される認証用パスワードを置き換える処理、および記憶部2650bに演算用パスワードを保持する処理は、処理部260b(
図4)が備える図示しない制御手段(上述のCPUなど)によって実行される。
【0156】
OLT10bは、ONU20bから通知された演算用パスワードの生成規則(複数のハッシュ関数のうちハッシュ関数h1[x]を用いること)に従い、演算用パスワード生成部1660bにて、演算用パスワード「B」を生成する。ここでOLT10bは、ハッシュ関数h1[x]にS104bでONU20bに送信した指定時刻T1の値を代入して計算結果h1[T1]を得て、当該計算結果を演算用パスワード「B」とする(B=h1[T1])。なお上述のとおり、ONU20bはハッシュ関数h1[x]にOLT10bから受信した指定時刻T1の値を代入して演算用パスワードを生成するので、OLT10bにより生成される演算用パスワード「B」は、ONU20bにより生成される演算用パスワード「B」と一致する。これにより、OLT10bとONU20bは共通の演算用パスワードを生成し、保持することができる。
【0157】
またOLT10bは、ONU20bから通知された認証用パスワードの生成規則(複数のハッシュ関数のうちハッシュ関数h2[x]を用いること)に従い、認証用パスワード生成部1650bにて、新認証用パスワード「A」を生成する。ここでOLT10bは、ハッシュ関数h2[x]にS108bでONU20bに送信した指定時刻T2の値を代入して計算結果h2[T2]を得て、当該計算結果を演算用パスワード「A」とする(A=h2[T2])。なお上述のとおり、ONU20bはハッシュ関数h2[x]にOLT10bから受信した指定時刻T2の値を代入して新認証用パスワードを生成するので、OLT10bにより生成される新認証用パスワード「A」は、ONU20bにより生成される新認証用パスワード「A」と一致する。これにより、OLT10bとONU20bは共通の新認証用パスワードを生成し、保持することができる。そしてOLT10bは、記憶部1630bに記憶される認証用パスワード「Local」を新認証用パスワード「A」に置き換えるとともに、生成した演算用パスワード「B」を演算用パスワードとして保持する(
図15の64b)。記憶部1630bに記憶される認証用パスワードを置き換える処理、および記憶部1630bに演算用パスワードを保持する処理は、処理部160b(
図2)が備える図示しない制御手段(上述のCPUなど)によって実行される。OLT10bはONU20bに、新認証用パスワードおよび演算用パスワードの変更が完了したことを通知する(S106b)。
【0158】
ONU20bがOLT10bからS106bにて通知を受信すると、初回接続時の認証シーケンスが終了する。S106b以降においては、従来の光通信システムと同様に、OLT10bがONU20bに対してDBA機能により帯域割り当てを行い、ONU20bはOLT10bから指定された帯域および送信タイミングに従って通信を行う。
【0159】
なお、ONU20bによる認証用パスワードの生成規則の送信、および演算用パスワードの生成規則の送信は、例えばIEEE802.3ahにて規定される拡張OAMフレームに基づいてフレームを生成し送信するようにしてもよい。また、OLT10bおよびONU20bにおける演算用パスワードの変更規則、即ち第2の実施形態では演算用パスワードを生成して生成された演算用パスワードを保持することを、OLT10とONU20との間で予め共有するようにしてもよい。例えば、本実施例に係るOLT10bとONU20bのファームウェアに製造段階で演算用パスワードの変更規則を組み込んでもよい。また例えば、
図15に示すOLT‐ONU間の初回接続時の通信において、任意のタイミングで(例えばS105bと併せて)、演算用パスワードの変更規則をONU20bからOLT10bへ通知するようにしてもよい。
【0160】
(B‐2‐2)第2の実施形態におけるOLTとONUの再接続時における認証
次いで
図16を参照して、OLT10bとONU20bとの接続(通信リンク)が切断された以降において、OLT10bとONU20bとが再接続された場合の認証を説明する。
図16は、第2の実施形態におけるOLT‐ONU間の再接続時における通信のやり取りを示すシーケンス図、およびOLTとONUそれぞれの記憶部の状態を示す図である。
【0161】
図15に示したように第2の実施形態における初回接続時のS106b以降において、ONU20bとOLT10bは認証用パスワード「A」と演算用パスワード「B」を共通して保持している(
図15の63b、64b)。
図16では、ONU20bとOLT10bが共に認証用パスワード「A」と演算用パスワード「B」を保持した状態で、OLTまたはONUそのもの、もしくはOLTとONUを結ぶ通信区間で障害が発生してONU20bとOLT10bとの接続が切断され、ONU20bが切断前と同一のOLT10bに再度接続される場合のシーケンスを示している。
【0162】
図16に示す通信シーケンスにおいて、S201b、S202b、S203b、S204b、S205b、S206bのそれぞれは、
図7に示すシーケンス図のS201、S202、S203、S204、S205、S206と同様である。以下では、
図6に対する
図15の差分である部分について説明する。
【0163】
ONU20bは、OLT10bから演算用関数に対する演算結果を受信すると、判定部2630bにて、OLT10bから受信した演算結果とONU20bの演算部2620bによる演算結果が一致するか否かを判定する。
図16の71bにおいてONU20bが保持する演算用パスワードは「B」であり、また
図16の72bにおいてOLT10bが保持する演算用パスワードは「B」である。従ってONU20bとOLT10bの双方の演算結果は一致するので、判定部2630bは真と判定する。なおOLT10bにおける演算用関数と演算用パスワードを用いた演算は、第1の実施形態と同様に行われる。
【0164】
ONU20bは、判定部2630bが真と判定すれば認証用パスワードの生成規則をOLT10bに通知し(S207b)、認証用パスワード生成部2640bにて新認証用パスワード「C」を生成する。ここでは、ONU20bは初回接続時のシーケンスと同様に、ONU20bとOLT10bとの間でハッシュ関数h3[x]を含む複数のハッシュ関数(h1[x]〜hl「x」)を予め共通して保持しておき、ONU20bはS207bの通知で、OLT10bにハッシュ関数h3[x]を用いて認証用パスワードを生成する指示を送信する。ここで、S206bでOLT10bより受信する演算結果応答は、S207bでONU20bがOLT10bへ信号(フレーム)を送信する指定時刻の情報を含んでいる。ここでは、指定時刻の値をT3とする。OLT10bはONU20bに送信した指定時刻T3を保持し、ONU20bはこの指定時刻T3にS207bの送信を行う。そしてONU20bは、ハッシュ関数h3[x]に、S206bでOLT10bから受信した信号送信の指定時刻の値T3を代入して計算結果h3[T3]を得て、これを新認証用パスワード「C」とする(C=h3[T3])。
【0165】
続けてONU20bは、演算用パスワード生成部2670bにて、
図15のS107bでOLT10bと共通に保持した演算用パスワードの生成規則(複数のハッシュ関数のうちハッシュ関数h1[x]を用いること)に従って、新演算用パスワード「D」を生成する。ここでは、ONU20bは、OLT10bと共通に保持した関数であるハッシュ関数h1[x]に演算用パスワード「B」を代入して計算結果h1[B]を得て、これを新演算用パスワード「D」とする(D=h1[B])。なお、OLT10bとONU20bとが再接続された際の演算用パスワードの生成規則として、ハッシュ関数h1[x]に古い演算用パスワード(
図16の71bおよび72bにおける「B」)を代入し、その計算結果を新演算用パスワードとすることを、
図15に示すOLT10bとONU20bの初回接続時におけるシーケンスのS107bで、ONU20bからOLT10へ通知するようにしてもよい。
【0166】
ONU20bは、記憶部2650bに記憶される認証用パスワード「A」を新認証用パスワード「C」に置き換えるとともに、記憶部2650bに記憶される演算用パスワード「B」を新演算用パスワード「D」に置き換える(
図16の73b)。なお古い認証用パスワード(
図16の71bにおける「A」)および古い演算用パスワード(
図16の71bにおける「B」)は破棄される。
【0167】
OLT10bは、ONU20bから通知された認証用パスワードの生成規則(複数のハッシュ関数のうちハッシュ関数h3[x]を用いること)に従い、認証用パスワード生成部1650bにて、新認証用パスワード「C」を生成する。ここでOLT10bは、ハッシュ関数h3[x]にS206bでONU20bに送信した指定時刻T3の値を代入して計算結果h3[T3]を得て、当該計算結果を新認証用パスワード「C」とする(C=h3[T3])。なお上述のとおり、ONU20bはハッシュ関数h3[x]にOLT10bから指定された指定時刻T3の値を代入して新認証用パスワードを生成するので、OLT10bにより生成される新認証用パスワード「C」は、ONU20bにより生成される新認証用パスワード「C」と一致する。これにより、OLT10bとONU20bは共通の新認証用パスワードを生成し、保持することができる。
【0168】
続けてOLT10bは、演算用パスワード生成部2670bにて、
図15のS107bでOLT10bと共通に保持した演算用パスワードの生成規則(複数のハッシュ関数のうちハッシュ関数h1[x]を用いること)に従って、新演算用パスワード「D」を生成する。ここではOLT10bは、ONU20bと共通に保持した関数であるハッシュ関数h1[x]に演算用パスワード「B」を代入して計算結果h1[B]を得て、これを新演算用パスワード「D」とする(D=h1[B])。なお、OLT10bとONU20bとが再接続された際の演算用パスワードの生成規則として、ハッシュ関数h1[x]に古い演算用パスワード(
図16の71bおよび72bにおける「B」)を代入して、その計算結果を新演算用パスワードとすることを、
図15に示すOLT10bとONU20bの初回接続時におけるシーケンスのS107bで、OLT10bはONU20bから通知を受けるようにしてもよい。これにより、OLT10bとONU20bは共通の新演算用パスワードを生成し、保持することができる。
【0169】
そしてOLT10bは、記憶部2650bに記憶される認証用パスワード「A」を新認証用パスワード「C」に置き換えるとともに、記憶部2650bに記憶される演算用パスワード「B」を新演算用パスワード「D」に置き換える(
図16の74b)。なお古い認証用パスワード(
図16の72bにおける「A」)および古い演算用パスワード(
図16の72bにおける「B」)は破棄される。OLT10bはONU20bに、新認証用パスワードおよび新演算用パスワードの変更が完了したことを通知する(S208b)。
【0170】
ONU20bがOLT10bからS208bにて通知を受信すると、再接続時の認証シーケンスが終了する。S208b以降においては、従来の光通信システムと同様に、OLT10bがONU20bに対してDBA機能により帯域割り当てを行い、ONU20bはOLT10bから指定された帯域および送信タイミングに従って通信を行う。
【0171】
(B‐2‐3)第2の実施形態においてONUと不正OLTとが接続された場合
第2の実施形態に係る光通信システム1bにおいて、OLT10bとONU20bとの接続(通信リンク)が切断された以降に、ONU20bが再接続しようとする対向装置が不正OLTとなった場合のシーケンスは、
図9に示す第1の実施形態におけるシーケンスと同じである。
【0172】
例えば、
図15に示すOLT10bとONU20bの初回認証時の認証シーケンスが終了しONU20bが認証用パスワード「A」および演算用パスワード「B」を保持した以降にONU20bがOLTに再接続するにあたって、OLT10bが不正OLT80bに置き換わった場合、ONU20bは
図9の通信シーケンスに従って不正OLT80bを次のように検知する。
【0173】
即ち、ONU20bは不正OLT80bに対して認証用パスワード「A」に基づいて認証要求を行う(
図9のS303)。ONU20bは不正OLT80bから認証許可通知を受信すると、不正OLT80bに対し演算用関数および演算結果応答要求を送信し(
図9のS305)、ONU20b自身でも演算用関数と演算用パスワード「B」を用いて演算を行い、演算結果を保持する。不正OLT80bは正当な演算用パスワードを把握していないため、不正OLT80bは不当な演算結果をONU20bに応答する。ONU20bは、自身の演算結果と応答された演算結果が一致しないことを判定し、ONU20b自身に接続された対向装置を不正OLT80bと判定したこと(換言すると不正OLTを検知したこと)をユーザ端末70に通知する(
図9のS307)。
【0174】
なお、
図16に示すONU20bとOLT10bとの再接続シーケンスが終了した以降に再びONU20bとOLT10bとの接続が切断され、再々接続時にOLT10bが不正OLT80bに置き換わった場合でも、ONU20bが不正OLT80bを検出するシーケンスは、ONU20bが保持する認証用パスワードと演算用パスワードが異なる他は上述した
図9に示す通信シーケンスと同様である。
【0175】
(B‐2‐4)第2の実施形態においてOLTと不正ONUとが接続された場合
第2の実施形態に係る光通信システム1において、OLT10bとONU20bとの接続(通信リンク)が切断された以降に、OLT10に不正ONU20が接続しようとする場合のシーケンスは、
図10に示す第1の実施形態におけるシーケンスと同じである。
【0176】
例えば、
図15に示すOLT10bとONU20bの初回認証時の認証シーケンスが終了し、OLT10bが認証用パスワード「A」および演算用パスワード「B」を保持した以降に不正ONUがOLT10bに接続しようとする場合、OLT10bは
図10の通信シーケンスに従って不正ONU90bを次のように検知する。
【0177】
即ち、不正ONU90bはOLT10bに対して、正当なONU20bを模倣したMACアドレスと不正な認証用パスワードに基づいて認証要求を行う(
図10のS403)。OLT10bは記憶部1630bを参照し、不正OLT90bから受信したMACアドレスに紐付けられて記憶される認証用パスワード「A」と、不正OLT90bから受信した不正な認証用パスワードとが一致しないことを判定する。そしてOLT10bは不正OLT90bに認証許可通知を送信せず、OLT10b自身に接続された対向装置を不正ONU90bと判定したこと(換言すると不正ONU90bを検知したこと)を管理装置60に通知する(
図10のS404)。
【0178】
なお、
図16に示すONU20bとOLT10bとの再接続シーケンスが終了した以降に再びONU20bとOLT10bとの接続が切断され、再々接続時に不正OLT90bがOLT10bに接続しようとする場合でも、OLT10bが不正ONU90bを検出するシーケンスは、OLT10bが保持する認証用パスワードと演算用パスワードが異なる他は上述した
図10に示す通信シーケンスと同様である。
【0179】
(B‐3)第2の実施形態の動作
続いて、上述した第2の実施形態の通信シーケンスを実現するためのONUおよびOLTの動作フローを、図面を参照しながら説明する。
【0180】
(B‐3‐1)第2の実施形態のONUの動作フロー
図17は第2の実施形態のONUの動作フローを示すフローチャートである。上述した
図15、
図16、
図9のそれぞれに示す通信シーケンスにおいて、ONU20bの動作は
図17に示すフローチャートで表される。
【0181】
図17に示すフローチャートにおいて、S501b、S502b、S503b、S504b、S505b、S506b、S507b、S508b、S511bのそれぞれは、
図11に示すフローチャートのS501、S502、S503、S504、S505、S506、S507、S508、S511と同様である。以下では、
図11に対する
図17の差分であるS509b、S510b、S512b、S513bについて説明する。
【0182】
ONU20bは、OLT10bから受信した演算結果と、ONU20b自身による演算結果とが一致するか否かをS508bで判定し、この判定結果が肯定である場合は、新認証用パスワードおよび新演算用パスワードを生成する(S509b)。新認証用パスワードの生成は認証用パスワード生成部2640b(
図14)によって行われ、新演算用パスワードの生成は演算用パスワード生成部2670b(
図14)によって行われる。ここで、S508bの判定を経てS509で生成される新認証用パスワードおよび新演算用パスワードは、それぞれ
図16の73bにおける認証用パスワード「C」および演算用パスワード「D」に相当する。なおS504bで判定が否定されて処理がS509bへ進んだ場合、S509bで生成される新認証用パスワードおよび新演算用パスワードは、それぞれ
図15の63bにおける認証用パスワード「A」および演算用パスワード「B」に相当する。
【0183】
ONU20bは、OLT10bに新認証用パスワードを生成するために認証用パスワードの生成規則を通知する。さらにONU20bは記憶部2650bを更新し、認証用パスワードを新認証用パスワードに置き換え、演算用パスワードを新演算用パスワードに置き換える(S510b)。S510bにおける認証用パスワードの生成規則の通知は、
図15のS105b、
図16のS207bに相当する。なおS508bおよびS509bを経て行われる記憶部2650bの更新は、
図16の73bにおいて認証用パスワード「C」および演算用パスワード「D」が保持されることに相当する。またS504bで判定が否定されて処理がS509bへ進み、次いでS510bで行われる記憶部2650bの更新は、
図15の63bにおいて認証用パスワード「A」および演算用パスワード「B」が保持されることに相当する。S510bの処理が終了すると、
図17に示すONU20bの動作は終了する。
【0184】
S504bにおいて判定が否定となると、ONU20bはOLT10bに演算用パスワードの生成規則を通知する(S512b)。S504bの判定が否定されるのは、記憶部2650bが演算用パスワードを保持していない状態を示し、これは
図15示すように初回認証時の状態に相当する。S512bにおける演算用パスワードの生成規則の通知は、
図15のS107bに相当する。S512bの後、ONU20bはOLT10bから演算用パスワードの生成規則の受信通知を受信する。S513bの処理以降は、上述したS509b、S510bの処理が行われる。
【0185】
(B‐3‐2)第2の実施形態のOLTの動作フロー
図18は第2の実施形態のOLTの動作フローを示すフローチャートである。上述した
図15、
図16、
図10のそれぞれに示す通信シーケンスにおいて、OLT10bの動作は
図18に示すフローチャートで表される。
【0186】
図18に示すフローチャートにおいて、S601b、S602b、S603b、S604b、S605b、S606b、S610bのそれぞれは、
図12に示すフローチャートのS601、S602、S603、S604、S605、S606、S610と同様である。以下では、
図12に対する
図18の差分であるS607b、S608b、S609b、S611b、S612bについて説明する。
【0187】
OLT10bは、S606bにてONU20bへ演算結果を送信した以降に、ONU20bから認証用パスワードの生成規則を受信したか否かを判定する(S607b)。認証用パスワードの生成規則を受信したならば処理をS608bへ進める。認証用パスワードの生成規則を受信しない場合は、認証用パスワードを受信するまで待機し、ONU20bから認証用パスワードを受信すれば処理をS608bに進める。
【0188】
OLT10bは、S607bにてONU20bから認証用パスワードの生成規則を受信したならば、新認証用パスワードおよび新演算用パスワードを生成する(S608b)。新認証用パスワードの生成は認証用パスワード生成部1650b(
図13)によって行われ、新演算用パスワードの生成は演算用パスワード生成部1660b(
図13)によって行われる。ここで、S605bの判定が肯定された以降にS608bで生成される新認証用パスワードおよび新演算用パスワードは、それぞれ
図16の74bにおける認証用パスワード「C」および演算用パスワード「D」に相当する。S605bの判定が否定された以降にS608bで生成される新認証用パスワードおよび新演算用パスワードは、それぞれ
図15の64bにおける認証用パスワード「A」および演算用パスワード「B」に相当する。
【0189】
OLT10bは記憶部1630bを更新し、認証用パスワードを新認証用パスワードに置き換えるとともに演算用パスワードを新演算用パスワードに置き換える。OLT10bは記憶部1630bの更新を終えると認証用パスワードおよび演算用パスワードの変更完了をONU20bに通知する(S609b)。S609bの通知は、
図15のS106b、
図16のS208bに相当する。なお、S605bの判定が肯定された以降にS609bで行われる記憶部1630bの更新は、
図16の74bにおいて認証用パスワード「C」が保持されるとともに演算用パスワード「D」が保持されることに相当する。またS605bの判定が否定された以降にS609bで行われる記憶部1630bの更新は、
図15の64bにおいて認証用パスワード「A」が保持されるとともに演算用パスワード「B」が保持されることに相当する。S609bの処理が終了すると、
図18に示すOLT10bの動作は終了する。
【0190】
なおOLT10bがONU20bから演算用関数を受信せずS605bの判定が否定された場合、OLT10bはONU20bから演算用パスワードの生成規則を受信したか否かを判定する(S611b)。演算用パスワードの生成規則を受信したならば処理をS612bへ進める。演算用パスワードの生成規則を受信しない場合は、演算用パスワードを受信するまで待機し、ONU20bから演算用パスワードを受信すれば処理をS612bに進める。次いでOLT10bは、ONU20bに演算用パスワードの生成規則を受信したことを通知する(S612b)。S612bの通知は
図15のS108bに相当する。S612bの通知の後、処理をS607bに進める。なおS605bにてOLT10bがONU20bから演算用関数を受信しない場合とは、
図15に示す初回接続時のシーケンスが相当する。またS605bにてOLT10bがONU20bから演算用パスワードの生成規則を受信し、さらにS611bの判定が肯定される場合とは、
図15のS107bでONU20bからOLT10bへ演算用パスワードの生成規則が通知されたことに相当する。
【0191】
なお
図18において、OLT10bがS604bでONU20bに認証許可通知を送信した後、S611bで一定時間内にONU20bから演算用パスワードの生成規則を受信しなかった場合(換言すると、演算用関数、演算結果応答要求、演算用パスワードの生成規則のいずれも受信しない場合)は処理をS610bへ進めるようにしてもよい。またOLT10bがS606bでONU20bに演算結果を通知した後、S607bで一定時間内にONU20bから認証用パスワードの生成規則を受信しなかった場合は処理をS610bへ進めるようにしてもよい。
【0192】
以上説明したように、
図17に示すフローチャートに基づきONU20bが動作し、
図18に示すフローチャートに基づきOLT10bが動作することによって、
図15、
図16、
図9、
図10に示すONU‐OLT間の通信シーケンスが実現される。
【0193】
(B‐4)第2の実施形態による効果
以上に説明した第2の実施形態よれば、第1の実施形態の効果と同様の効果を奏することができる。即ち、OLT10bとONU20bとの接続(通信リンク)が切断された以降にOLT10bとONU20bが再接続されると、OLT10bによるONU20bの認証が行われるとともに、更にONU20bによってOLT10bの正当性が確認される。このためONU20bが再接続しようとする対向装置が不正OLT80bに置き換わったとしても、ONU20bは、ONU20b自身に接続される対向装置が不正OLT80bであることを判定する事ができる。従ってONU20bが送信する情報が不正OLT80bに漏洩することを防止できる。
【0194】
また第2の実施形態によれば、ONU20bとOLT10bの双方が保持する認証用パスワードおよび演算用パスワードを更新するにあたり、ONU20bは新認証用パスワードの生成規則および新演算用パスワードの生成規則をOLT10bに通知し、ONU20bとOLT10bはパスワードの生成規則に従って新認証用パスワードおよび新演算用パスワードを自装置内部で生成する。これにより、第三者がOLT10bとONU20bが保持するパスワードを盗むことを困難とし、光通信システム1bの安全性を向上させることができる。
【0195】
例えば、
図15に示すOLT10bとONU20bの初回接続シーケンスにおいて、認証用パスワード「A」(
図15の63b、64b)はONU20bおよびOLT10bの内部で生成されるので、第三者は認証用パスワード「A」を通信傍受等の手段で盗むことができない。これは演算用パスワード「B」(
図15の63b、64b)についても同様である。あるいは
図16の73b、74bに示す認証用パスワード「C」および演算用パスワード「D」についても、これらはONU20bおよびOLT10bの内部で生成されるので、第三者はこれら演算用パスワードを盗むことができない。従って第三者が上述したような不正OLTまたは不正ONUを光通信システム1bに接続することを防止できる。
【0196】
(C)他の実施形態
本発明は上記の実施形態に限定されるものではなく、以下に例示するような実施形態も挙げることができる。
【0197】
第1の実施形態および第2の実施形態では、OLT‐ONU間の接続(通信リンク)が一度切断された後にOLTとONUとが再接続された際に(通信リンクが復旧した際に)ONUがOLTの正当性を確認する。そして再接続時におけるONUによる確認が成功する度に認証用パスワードと演算用パスワードを更新する。このように第1の実施形態および第2の実施形態は、OLT‐ONU間の接続が一度切断された後の再接続時に不正なOLTが光通信システム上に現れることを想定しているが、例えば不正プログラムによって正当であったOLTが改変され、OLT‐ONU間の接続が切断されることなくOLT20またはOLT20bが不正OLT80に成り代わることも想定される。
【0198】
そこで、第1の実施形態および第2の実施形態の双方について、OLT‐ONU間の初回認証を終えた以降に、OLT‐ONU間の接続(通信リンク)が切断したか否かに依らずにONUからOLTへ定期的に認証要求を行ない、定期的にONUがOLTの正当性を確認するようにしてもよい。
【0199】
第1の実施形態においては次のようにする。即ち、ONU20の内部構成として、
図5に示すONU20の処理部260にタイマー部(図示せず)を設け、当該タイマー部はある認証シーケンス(例えば初回接続時の認証シーケンス)が終了してから一定時間を計測する。ONU20はタイマー部が一定時間を計測し終える度にOLT10に対して認証要求を送信し、ONU20にて定期的にOLT10の正当性を確認する。
【0200】
図6および
図7を挙げて説明する。ONU20は
図6のS106が終了した時点でタイマー部を起動し一定時間の計測を開始する。そしてタイマー部にて一定時間が経過したならば、一定時間が経過する間にOLT‐ONU間の接続が切断された否かに依らず、ONU20はOLT10に対して認証要求を送信する(
図7のS203)。そして
図7のS203からS208のシーケンスを行うことで、ONU20はOLT10を再度認証するとともに、ONU20とOLT10が保持する認証用パスワードおよび演算用パスワードを更新される。
【0201】
ONU20は
図7のS208が終了した時点でタイマー部を再度起動し一定時間の計測を開始する。以降、タイマー部にて一定時間が経過したならば、一定時間が経過する間にOLT‐ONU間の接続が切断された否かに依らず、ONU20はOLT10に対して
図7のS203からS208までのシーケンスをくり返し行う。
【0202】
第2の実施形態においても同様であり、次のようにする。即ち、ONU20bの内部構成として、
図14に示すONU20bの処理部260bにタイマー部(図示せず)を設け、当該タイマー部はある認証シーケンス(例えば初回接続時の認証シーケンス)が終了してから一定時間を計測する。ONU20bはタイマー部が一定時間を計測し終える度にOLT10bに対して認証要求を送信し、ONU20bにて定期的にOLT10bの正当性を確認する。
【0203】
図15および
図16を挙げて説明する。ONU20bは
図15のS106bが終了した時点でタイマー部を起動し一定時間の計測を開始する。そしてタイマー部にて一定時間が経過したならば、一定時間が経過する間にOLT‐ONU間の接続が切断された否かに依らず、ONU20bはOLT10bに対して認証要求を送信する(
図16のS203b)。そして
図16のS203bからS208bのシーケンスを行うことで、ONU20bはOLT10bを再度認証するとともに、ONU20bとOLT10bが保持する認証用パスワードおよび演算用パスワードを更新される。
【0204】
ONU20bは
図16のS208bが終了した時点でタイマー部を再度起動し一定時間の計測を開始する。以降、タイマー部にて一定時間が経過したならば、一定時間が経過する間にOLT‐ONU間の接続(通信リンク)が切断された否かに依らず、ONU20bはOLT10bに対して
図16のS203bからS208bまでのシーケンスをくり返し行う。
【0205】
これにより、正当であったOLTが例えば不正プログラムによって改変され、OLT‐ONU間の接続(通信リンク)が切断されることなく不正OLTが光通信システムに現れたとしても、ONUは、ONU自身に接続される対向装置が不正OLTであることを判定すること(換言すると不正OLTを検知すること)が可能となる。