(57)【特許請求の範囲】
【請求項１】
小規模無線通信システムにおける、パーソナルエリアネットワークを構成する通信システムの、
ネットワークに接続されたネットワークアクセス装置と、
該ネットワークアクセス装置とネットワークを介して接続されたレイヤー２フレームを解するネットワークサーバとを備えた、
レイヤー２におけるフレームをレイヤー２トンネリングプロトコル（Layer Two Tunneling Protocol）データとしてやり取りするネットワークシステムであって、
前記ネットワークアクセス装置は、
パーソナルエリアネットワークに接続されたパーソナルエリアネットワークユーザから、該パーソナルエリアネットワーク上で該パーソナルエリアユーザとの間に確立されたBluetooth（登録商標、以下同様） ネットワークカプセル化プロトコル（Bluetooth Network Encapsulation Protocol）接続を介してBluetooth ネットワークカプセル化プロトコルデータをやり取りする手段と、
このBluetooth ネットワークカプセル化プロトコルデータを内包するレイヤー２トンネリングプロトコルデータを生成する手段と
を具備し、
前記ネットワークサーバは、
前記ネットワークアクセス装置とネットワークを介して、該ネットワークアクセス装置によって生成されたレイヤー２トンネリングプロトコルデータについてやり取りをする手段と、
この生成されたレイヤー２トンネリングプロトコルデータが含む情報を他のネットワークに存在する端末装置との間でやり取りする手段と
を具備することを特徴とするネットワークシステム。
【請求項２】
通信を行なっている、前記ネットワークサーバを介して接続される端末装置がパーソナルエリアネットワークユーザであることを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記Bluetoothネットワークカプセル化プロトコルデータに含まれる暗号情報と前記パーソナルエリアネットワークユーザと前記ネットワークサーバの間で予め取り決めた暗号情報とを用いて、パーソナルエリアネットワークユーザから受け取った暗号化されたデータを復号し、かつパーソナルエリアネットワークユーザ宛のデータを暗号化する暗号通信手段を前記ネットワークサーバにさらに備えることを特徴とする、請求項１に記載のネットワークシステム。
【請求項４】
小規模無線通信システムにおける、パーソナルエリアネットワークを構成する通信システムの、レイヤー２におけるフレームをレイヤー２トンネリングプロトコル（Layer Two Tunneling Protocol）データとしてやり取りするネットワークシステムの、該ネットワークに接続されたネットワークアクセス装置であって、
パーソナルエリアネットワークユーザからBluetoothネットワークカプセル化プロトコル（Bluetooth Network Encapsulation Protocol）データを受け取る手段と、
該パーソナルエリアネットワークユーザから受け取ったBluetoothネットワークカプセル化プロトコルデータを内包するレイヤー２トンネリングプロトコルデータを生成する手段と
を具備することを特徴とするネットワークアクセス装置。
【請求項５】
パーソナルエリアネットワークユーザから受け取ったBluetoothネットワークカプセル化プロトコルデータに含まれる認証情報を用いて、該パーソナルエリアネットワークユーザの認証を行なう認証手段を有する、請求項４に記載のネットワークアクセス装置。
【請求項６】
小規模無線通信システムにおける、パーソナルエリアネットワークを構成する通信システムの、レイヤー２におけるフレームをレイヤー２トンネリングプロトコル（Layer Two Tunneling Protocol）データとしてやり取りするネットワークシステムの、該ネットワークに接続されたネットワークアクセス装置が送信したレイヤー２トンネリングプロトコルデータを受け取る、該ネットワークに接続されたネットワークサーバであって、
Bluetoothネットワークカプセル化プロトコル（Bluetooth Network Encapsulation Protocol）データを内包するレイヤー２トンネリングプロトコルデータをネットワークアクセス装置とやり取りする手段と、
該レイヤー２トンネリングプロトコルデータに含まれるデータを前記ネットワーク以外のネットワークに存在する端末装置との間を仲介する手段と
を具備することを特徴とするネットワークサーバ。
【請求項７】
ネットワークアクセス装置を介してパーソナルエリアネットワークユーザから受け取った、レイヤー２トンネリングプロトコルデータが内包するBluetoothネットワークカプセル化プロトコル（Bluetooth Network Encapsulation Protocol）データに含まれる認証情報を用いて、該パーソナルエリアネットワークユーザの認証を行なう認証手段と
をさらに備えたことを特徴とする、請求項６に記載のネットワークサーバ。
【請求項８】
小規模無線通信システムにおける、パーソナルエリアネットワークを構成する通信システムの、レイヤー２におけるフレームをレイヤー２トンネリングプロトコル（Layer Two Tunneling Protocol）データとしてやり取りするネットワークアクセス制御方法であって、
ネットワークに接続されたネットワークアクセス装置が、パーソナルエリアネットワークユーザからBluetoothネットワークカプセル化プロトコル（Bluetooth Network Encapsulation Protocol）データを受け取るステップと、
該ネットワークアクセス装置が、該受け取ったBluetoothネットワークカプセル化プロトコルデータを内包するレイヤー２トンネリングプロトコルデータを生成するステップと、
前記ネットワークアクセス装置とネットワークを介して接続された、該ネットワーク以外のネットワークに存在する端末装置との間を仲介するネットワークサーバとの間に、レイヤー２トンネリングプロトコルデータを通ずるためのレイヤー２トンネリングプロトコルトンネルを生成するステップと
前記ネットワークサーバが、該レイヤー２トンネリングプロトコルトンネルを介して前記レイヤー２トンネリングプロトコルデータを受け取るステップと
を具備することを特徴とするネットワークアクセス制御方法。
【請求項９】
前記レイヤー２トンネリングプロトコルトンネルは、ネットワークアクセス装置がパーソナルエリアネットワークユーザからの指示で設定および解除を行なうステップをさらに備えることを特徴とする、請求項８に記載のネットワークアクセス制御方法。
【請求項１０】
前記レイヤー２トンネリングプロトコルトンネルの一方の接続先である前記ネットワークサーバの指定を、ネットワークアクセス装置が該レイヤー２トンネリングプロトコルトンネルを設定する時に、該レイヤー２トンネリングプロトコルトンネルを利用するもう一方となるパーソナルエリアネットワークユーザからの指示によって行なうステップを有することを特徴とする、請求項８に記載のネットワーク制御方法。
【請求項１１】
前記ネットワークアクセス装置や前記ネットワークサーバの少なくともどちらかが備える認証手段により、パーソナルエリアネットワークユーザから受け取ったBluetoothネットワークカプセル化プロトコルデータに含まれる認証情報を用いて、各々が該パーソナルエリアネットワークユーザを認証するステップをさらに備えることを特徴とする、請求項８に記載のネットワーク制御方法。
【請求項１２】
パーソナルエリアネットワークユーザと前記ネットワークサーバとの間でやり取りされるBluetoothネットワークカプセル化プロトコルデータが暗号化されたものであるとき、
該Bluetoothネットワークカプセル化プロトコルデータに含まれる暗号情報と前記パーソナルエリアネットワークユーザと前記ネットワークサーバの間で予め取り決めた暗号情報とを用いて、該ネットワークサーバが該パーソナルエリアネットワークユーザと該ネットワークサーバ間でやり取りされるデータを暗号化あるいは復号化するステップをさらに備えることを特徴とする、請求項８に記載のネットワーク制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、小規模無線通信システムにおけるネットワークシステムであって、特にレイヤー２に相当するリンクを介して通信を行なうネットワークシステム、ネットワークアクセス装置、ネットワークサーバ、及びこれらによるネットワークアクセス制御方法に関する。
【０００２】
【従来の技術】
一人に一台というようなパーソナルに使用されるコンピュータの小型化が進んでいる。計算機の小型化は、従来一定の場所に固定して使用されてきたこれらコンピュータを自由に持ち運ぶことを可能とした。反面、コンピュータの使用方法はネットワークの存在なくしては効果的な利用が図れない状況にもなっている。これは日々発生する情報をある規則性によって結び付けて、既得の情報にさらに付加価値を与える必要があるからである。それに連れて扱わねばならない情報の量は膨大となり、ついには情報を運用するために強力な処理能力と大容量のデータベースシステムが不可欠となっている。
【０００３】
日々蓄積され利用される膨大な量の情報を、小型化が進むコンピュータに保持することそれ自体が現実的とはいえなくなっている。処理速度の面から見ても、持ち運びが可能な小型のコンピュータ上で、必要なすべての処理を行なうことは困難である。
【０００４】
このような持ち運びができるほどに小型化が進んだコンピュータには、処理能力が高く大規模データベースを備えた、必要な処理を分担して処理させるサーバと併せて利用する構成が望ましい。そうすることによって可搬性と処理能力を両立したシステムが構築可能となる。
【０００５】
有線のネットワーク、たとえばEthernet(R)を介して構築されたネットワークは現在一般的に利用されている。しかしながら配線を伴うネットワークではネットワークに接続するための物理的なコネクタが必要である。有線のネットワークを運用するためにはコンピュータを使用する可能性のある場所に、予め必要数のコネクタを含む配線工事を行なっておかねばならない。持ち運びつつ利用されるコンピュータが増加するに連れ、移動先でコネクタをつなぎ換えるなどの煩雑さや追加の配線工事に伴うデメリットが注目されるようになってきた。
【０００６】
これらのデメリットを解消すべく、ネットワークへの接続を無線方式によって行なう方法が提案された。無線を利用して端末装置をネットワークに接続する方法は複数提案されている。これらは利用目的、たとえば伝送速度や対雑音性能または消費電力などによって選択されるべきものである。その中に持ち運びが可能な一般にモバイル機器と呼ばれる製品群を対象に、低電力消費と簡便な利用を可能とする無線デバイスを構成できるBluetooth(R)がある。
【０００７】
この小規模無線通信システムはEthernet(R)などとは異なる通信方式を採用している。しかし昨今ではパーソナルエリアネットワーク（以下、PANと言う）プロファイルとBluetooth Network Encapsulation Protocol（以下、BNEPと言う）などを用いることにより、一部では一般の有線LANと同様なネットワーク環境の構築も可能となりつつある。
またこの小規模無線通信システムが公衆のアクセスポイントが設置されることになれば、該無線通信装置を備えた無線デバイスは携帯電話のように移動を繰り返しながら自由にインターネットなどへ接続することも可能となる。
【０００８】
【発明が解決しようとする課題】
しかしながら前出のPANやBNEPはBluetooth(R)でのみ有効な、レイヤー２フレームのカプセル化と、この転送に関する仕様である。このためインターネットを経由した遠隔に存在するサーバのアクセスなどは、既存のPAN/BNEPだけでは行なうことができない。
【０００９】
また無線を使用すること、およびインターネットにデータが流れることを考慮すると、接続される無線デバイスの認証の仕組みや流れるデータの第三者による盗聴の防止など、セキュリティの仕組みが必要である。
【００１０】
よって本発明は上記のような問題を解決し、このような小規模無線通信システムによってインターネットなどの広域ネットワークを隔てて存在する端末装置と通信を行なうネットワークシステム、ネットワークアクセス装置、ネットワークサーバ、およびこれらによるネットワークアクセス制御方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明によれば、小規模無線通信システムにおける、パーソナルエリアネットワークを構成する通信システムの、ネットワークに接続されたネットワークアクセス装置と、該ネットワークアクセス装置とネットワークを介して接続されたネットワークサーバとを備えた、レイヤー２におけるフレームをレイヤー２トンネリングプロトコル（Layer Two Tunneling Protocol）データとしてやり取りするネットワークシステムであって、前記ネットワークアクセス装置は、パーソナルエリアネットワークに接続されたパーソナルエリアネットワークユーザから、該パーソナルエリアネットワーク上で該パーソナルエリアネットワークユーザとの間に確立されたBluetoothネットワークカプセル化プロトコル（Bluetooth Network Encapsulation Protocol）接続を介してBluetoothネットワークカプセル化プロトコルデータをやり取りする手段と、このBluetoothネットワークカプセル化プロトコルデータを内包するレイヤー２トンネリングプロトコルデータを生成する手段とを具備し、前記ネットワークサーバは、前記ネットワークアクセス装置とネットワークを介して、該ネットワークアクセス装置によって変換されたレイヤー２トンネリングプロトコルデータについてやり取りをする手段と、この変換されたレイヤー２トンネリングプロトコルデータが含む情報を他のネットワークに存在する端末装置との間でやり取りする手段とを具備することを特徴とするネットワークシステムが提供される。また同時に、上記の構成を持つネットワークアクセス装置およびネットワークサーバが提供される。
【００１２】
さらに、小規模無線通信システムにおける、パーソナルエリアネットワークを構成する通信システムの、レイヤー２におけるフレームをレイヤー２トンネリングプロトコル（Layer Two Tunneling Protocol）データとしてやり取りするネットワークアクセス制御方法であって、ネットワークに接続されたネットワークアクセス装置が、パーソナルエリアネットワークユーザからBluetoothネットワークカプセル化プロトコル（Bluetooth Network Encapsulation Protocol）データを受け取るステップと、該ネットワークアクセス装置が、該受け取った該Bluetoothネットワークカプセル化プロトコルデータを内包するレイヤー２トンネリングプロトコルデータを生成するステップと、前記ネットワークアクセス装置とネットワークを介して接続された、該ネットワーク以外のネットワークに存在する端末装置との間を仲介するネットワークサーバとの間に、レイヤー２トンネリングプロトコルデータを通ずるためのレイヤー２トンネリングプロトコルトンネルを生成するステップと前記ネットワークサーバが、該レイヤー２トンネリングプロトコルトンネルを介して前記レイヤー２トンネリングプロトコルデータを受け取るステップとを具備することを特徴とするネットワークアクセス制御方法が提供される。
【００１３】
加えて認証手段、暗号通信手段、およびこれらによる認証ステップ、暗号化／復号化ステップを備えたネットワークシステムおよびネットワークアクセス制御方法が提供される。
【００１４】
【発明の実施の形態】
最初に、本発明に使用される語句やプロトコル等を解説する。
【００１５】
「Bluetooth(R)」：Ericsson社、IBM社、Intel社、Nokia社、東芝の5社が中心となって提唱している携帯情報機器向けの無線通信技術である。また、同方式では0.5平方インチの小型のトランシーバを利用するため、IrDA(Infrared Data Association)に比べ消費電力が小さく、製造コストも低く抑えられることが特徴の一つとなっている。
【００１６】
「Piconet」：前述小規模無線端末同士を近づけたときに、端末の間で一時的に形成されるネットワークのことである。上記Bluetooth(R)技術を利用して擬似的に形成されるもので、端末が参加できるその範囲は電波の到達距離に依存する。形成範囲はおよそ数メートル円内であることが多い。
【００１７】
「PAN」：パーソナルエリアネットワーク。前述小規模無線端末同士でレイヤー２フレームによるLAN(Local Area Network)を模擬するネットワークのことである。通常は上記Piconetを形成するエリア内でのみ有効なネットワークであり、Bluetooth(R)の特性から広範囲のレイヤー２フレームによるネットワークを形成することはできない。
【００１８】
「PANU」：PANに参加している小規模無線端末のことである。
【００１９】
「BNEP」：Bluetooth Network Encapsulation Protocolと呼ばれる、Bluetooth(R)上のレイヤー２フレームを内包するための、公開されたプロトコルである。
【００２０】
「L2TP」：Layer2 Tunneling Protocol。OSI参照モデルのレイヤー２に相当する、たとえばEthernet(R)などのフレームデータを送り届けるためのプロトコルである。本プロトコルはinternet draft(draft-ietf-l2tpext-l2tp-base-01.txt等)として公開されているものである。L2TPにはいくつかのバージョンが存在し、それぞれで内容が異なる部分がある。本発明ではL2TPと表記するときは特別に断りの無い限り v3 を指すものとする。
【００２１】
「L2CAP」：Logical Link Control and Adaptation Protocol 。Bluetooth(R)はプロファイルと呼ばれる小規模無線通信機器間の通信仕様があり、その双方が同じプロファイルに対応している必要がある。同プロトコルはこの小規模無線通信規格で当該プロファイルに関する処理を行なうものであり、当該小規模無線通信規格の仕様書(Specification of the Bluetooth System)として公開されている。
【００２２】
「L2TPトンネル」：L2TPによってネットワーク装置間に設定される、たとえばEthernet(R)フレームなどのレイヤー２に相当するフレームを通すことができるチャネル（＝トンネル）である。
【００２３】
「NAP/LNS」：Network Access Point/L2TP Network Server。PANのアクセスポイントであると同時に、L2TPによって設定されるL2TPトンネルの一端となるものである。主にL2TPトンネルの接続要求を受ける側を指す。
【００２４】
「NAP/LAC」：Network Access Point/L2TP Access Concentrator。PANのアクセスポイントであると同時に、L2TPによって設定されるL2TPトンネルの一端となるものである。主にL2TPトンネルの接続要求側を指す。本発明では別段の断りの無い限り、単にNAPと表記するものもこれと同じものとする。
【００２５】
次からは本発明の実施形態について図面を用いながら説明する。
【００２６】
（実施形態１）
図１に本発明の一実施形態にかかるネットワークシステムの、そこに流れるフレームからみたときの構成を示す。
【００２７】
ここでは小規模無線端末（PANU１０１）が、複数台参加して形成するネットワークであるPiconetを越えて、他のネットワーク（Remote Network１０７）に存在する端末装置（target host１０６）と通信を行なうものである。図１では複数のPANU１０１とネットワークアクセス装置（NAP/LAC１０２）によって、一つのPiconetを形成している例を示している。PiconetはPAN/BNEPを実装することによって、レイヤー２のフレームをそのPiconetに参加するPANU１０１（及びPiconetに参加するネットワークアクセス装置）の間でやり取りすることができる。しかしながら、前述のPANU１０１（たとえば携帯型のパーソナルコンピュータなど）が作る無線ネットワークは、その電波が到達する範囲内でしか成立しない。殊に本発明で使用する小規模無線通信システムは、消費電力を抑え、小型化を図るために数メートル〜数十メートルの範囲内で使用されることを前提としている。このときPANの範囲内で行なわれる通信を、この小規模無線通信システムが持つ特性を維持したままさらに遠隔にあるネットワークまで拡大し、インターネットなどの広域ネットワークまで及ぼすことができれば利便性はさらに高まると言える。
このために、上記Piconetにはインターネットなどの広域ネットワークとの仲介をするネットワークアクセス装置（NAP/LAC１０２）が参加できる必要がある。NAP/LAC１０２はPANの参加者となりうるPANU１０１の機能と、L2TPデータに含まれる情報をやり取りする機能を併せ持つものである。広域ネットワーク（Internet１０３）は、仲介サーバ装置（LNS１０５）を介して遠隔の別のネットワーク（Remote Network１０７）に接続されている。
LNS１０５はL2TPデータの内容を、Remote Network１０７へと仲介をする機能を持つ。そしてNAP/LAC１０２とLNS１０５の間にL2TPによるトンネル１０４を形成し、そこにEthernet(R)などのレイヤー２フレームを通じ、レイヤー２リンクを確立する。このレイヤー２リンクを用いて、PANU１０１とRemote Network１０７に存在するtarget host１０６とが通信を行なえるように構成するものである。
【００２８】
図１において、小規模無線通信機器であるPANU１０１は無線電波の到達範囲に存在する小規模無線通信機器、たとえば別のPANU１０１とリンク接続を行い、そのPiconetに参加する。図１ではNAP./LAC１０２もその参加者である。PANU１０１とNAP/LAC１０２はPAN/BNEPを実装しており、PANU１０１はBNEPによって、そのPiconetに参加しているNAP/LAC１０２に接続される。一方NAP/LAC１０２はInternet１０３とも接続されておりIPによってインターネットに接続された端末、たとえばtarget host１０６とも通信を行なうことができる。
【００２９】
NAP/LAC１０２はInternet１０３に接続されたLNS１０５との間にL2TPトンネル１０４を（後述のように）設定する。このL2TPトンネル１０４を通じて、PANU１０１から得られたレイヤー２フレームの情報をLNS１０５との間でやり取りする。LNS１０５はL2TPトンネル１０４とは別のネットワーク（図１中ではRemote Network１０７）にも接続されており、当該ネットワークとのブリッジとしても働いている。
【００３０】
このようにL2TPトンネル１０４を介して送られてきた、PANU１０１からのレイヤー２フレームの情報は、LNS１０５がブリッジの役割を果たすことによってtarget host１０６に送り届けられる。同時にtarget host１０６との間で双方向のブリッジとなり、当該ホストとPANU１０１との間で通信が行なわれる。
【００３１】
PANU１０１とtarget host１０６の通信に先立ち、PANU１０１とNAP/LAC１０２との間のハンドシェークによって、BNEPチャネルとL2TPトンネル１０４を確立する。NAP/LAC１０２とLNS１０５の間にあっては、NAP/LAC１０２からの要求でL2TPの仕様に従って当該トンネルを確立する。このようにして確立されたチャネルとトンネルを通じて、PANU１０１はLNS１０５に対してEthernet(R)などのレイヤー２フレームを伝達することができる。そしてLNS１０５がこのレイヤー２フレームを、Remote Network１０７にブリッジすることによって、target host１０６に送り届けられる。これによってPANU１０１とtarget host１０６の間でレイヤー２リンクを確立し、あたかも同一のレイヤー２リンクでつながれたネットワークのように見せることができる。
このとき図１に示すように、NAP/LAC１０２が複数のPANU１０１を受け入れるようにすることもできる。このようにすると、同じPAN内の複数のPANU１０１が、複数のRemote Network１０７に存在するtarget host１０６と通信を行なうことが可能となる。
【００３２】
また、上記した実施形態の変形例として、図１のtarget host１０６が図２に示すように、PANU２０５であってもよい。この実施例におけるフレームの流れ方の一例を図２に示す。
【００３３】
PANU２０１がPiconetに参加し、PAN/BNEPによってNAP/LAC２０２へ接続され、L2TPトンネル２０３を設定しているところまでは実施形態１と同様である。本実施例ではL2TPトンネル２０３の他方がNAPを備えたLNS（NAP/LNS２０４）となっていることが特徴である。するとPANU２０１の無線の到達範囲にあるPiconetと、PANU２０５が参加する他のPiconetは全く別のネットワークでありながら、実質的にこれらPiconet同士が同じレイヤー２リンクで結ばれているように見せることができる。このときPANU２０１とPANU２０５は、両者の間でPANによるレイヤー２フレームの通信を行なうことができる。
【００３４】
実施形態１およびその変形例ではPAN/BNEPを用いているが、L2TPトンネル１０４および２０３はレイヤー２に相当するフレームデータであれば流すことができる。よってPAN/BNEPに限定せず、IEEE802.11（IEEE802.11bを含む）に代表されるその他のレイヤー２に相当するリンクであっても良い。もちろんこれらのレイヤー２に相当するリンクを用いる通信を行なうPANUなどの装置上には、双方に該リンク、たとえばPAN/BNEPやIEEE802.11を処理する機能を備える必要がある。
【００３５】
次にPANU１０１からL2TPトンネル１０４を介してLNS１０５にレイヤー２フレームを送り届けるときに考え得る複数のケースを挙げる。
【００３６】
図４にPANU１０１、NAP１０２およびLNS１０５の間に流れるレイヤー２フレーム、たとえばEthernet(R)フレームのトンネルの構成について３つのケースを示している。４０１のケースはPANU１０１から途中のNAP１０２まではBNEPで伝達し、以降はL2TPのみによって行なうものである。４０２はNAP１０２以降についてもBNEPの形まま、L2TPに内包して伝達するものである。また４０３はPANU１０１からLNS１０５までL2TPデータのまま伝達し、PANU１０１とNAP１０２の間のみ、これをBNEPにより搬送するものである。このうち４０１によるものを実施形態２、同じく４０２によるものを実施形態３として説明する。最後の４０３のトンネル構成はレイヤー２フレームをL2TPデータに変換する機能を有したPANU１０１を示している。しかしながらこのトンネル構成は十分な実現性はあるものの、本来帯域が狭い小規模無線通信システムの無線経路に流れるデータ量がL2TPに変換することで増加してしまうため、全体としても転送効率が悪化する。よって４０３に示すトンネル構成は参考にとどめ、以降は４０１および４０２に示すトンネル構成を用いた実施形態２および実施形態３についてのみ説明することとする。
【００３７】
またNAP１０１とLNS１０５の間に設定されるL2TPトンネル１０４の設定を最初に要求するのがPANU１０１か、あるいはNAP１０２かによって通信のためのシーケンスが異なる。以降の説明においてはこれらを厳密に分離して説明する。実施形態２について、PANU１０１が最初に要求するものを実施形態２(a)、NAPが最初に要求するものを実施形態２(b)とする。同様に実施形態３についても、実施形態３(a)、実施形態３(b)と表すこととする。
【００３８】
（実施形態２）
次に本発明の実施形態２(a)におけるシーケンスを説明するにあたって、まず想定される具体的なネットワークの構成例を図３に示す。基本的に実施形態１の、図１に示したフレームの流れを現実のシステム構成に置き換えたものである。PANU３０１、NAP/LAC３０２、LNS３０３、target host３０５、およびRemote Network３０６によって構成されている。ここでは新たにDHCP Server３０４が示されている。DHCP３０４ Serverは本発明を実施するにあたっては必須の構成要素ではないが、現実のネットワークシステムではDHCPが併用される場合が多いと考えられるためである。
【００３９】
次に実施形態２(a)におけるブロック構成について説明する。図５に本実施形態のブロック構成図を示す。
【００４０】
PANU５０１はトンネル設定機能５０５、認証機能５０６、BNEP基本機能５０７を持つBNEP機能５０４とBT(Bluetooth(R))基本機能５０８を有している。PANに流す、Internet Protocolで通信するための一般的な機能をもつIP基本機能で構成されたレイヤー２フレームは、BNEPデータとなってBT基本機能５０８に受け渡される。BT基本機能５０８は当該小規模無線通信システム仕様書に記述されているベースバンドとL2CAP機能を負担する。BNEP基本機能５０７はBT/PAN Profileで記述されているBNEPの機能を負担する部分である。認証機能５０６は前述のBNEP認証メッセージによる認証を実現するものである。そしてトンネル設定機能はNAP/LAC５０２が持つL2TPトンネルの設定／解放を指示する機能である。
【００４１】
NAP/LAC５０２にはPANU５０１とは別に、トンネル拡張機能５０９とL2TP LAC機能５１１を持っている。トンネル拡張機能５０９は本発明のBNEPによりL2TPトンネルの設定／解放などを実現する機能を持っている。もしも複数のPANU５０１が一つのL2TPトンネルを共用して使用する場合には、それぞれのPANU５０１からL2TPの識別として指示されるTunnel IDの管理もここで行なわれる。L2TP LAC機能５１１はL2TPの仕様に基づいた一般的なLAC装置が行なうべき機能を持つ。具体的にはL2TPトンネルの設定要求に関する処理を行なう。
【００４２】
NAP/LAC５０２は、BT基本機能５０８によってPANU５０１からBNEPデータを受け取る。その中にトンネル設定要求あるいは開放要求などを指示する制御メッセージが含まれていた場合はその指示に従い、トンネル拡張機能５０９がL2TP LAC機能５１１と連携して、LNS５０３との間に張られたL2TPトンネルの制御をする。
【００４３】
NAP/LAC５０２からL2TPデータを受け取ったLNS５０３は、L2TP LNS機能５１２によってL2TPデータからそれに含まれるレイヤー２のフレーム、たとえばEthernet(R)フレームを抽出し、図示していない別のネットワークへとブリッジする。
【００４４】
L2TP LNS機能５１２はL2TPの仕様に基づいた一般的なLNSの機能を持つ。具体的にはNAP/LAC５０２とのL2TPトンネルの受け側となり、それに含まれるレイヤー２フレームを処理する。
【００４５】
図６に本実施形態のフレームの流れ方を示す。図中にはPANU６０１、NAP/LAC６０２．L2TPトンネル６０３、LNS６０４、およびtarget host６０５が示されている。PANU６０１およびNAP/LAC６０２は共に小規模無線通信機器であり、少なくともこの２台によって構成されるPiconetに参加している。PANU６０１は伝送するレイヤー２フレームデータをPAN/BNEPによってNAP/LAC６０２に受け渡す。
【００４６】
NAP/LAC６０２はインターネットを介してそこに接続されているLNS６０４との間にL2TPトンネル６０３を設定する。NAP/LAC６０２はPANU６０１から受け取ったレイヤー２フレームデータをL2TPデータに変換し、該L2TPトンネルを通じてLNS６０４に受け渡す。そののちLNS６０４は、受け取ったレイヤー２フレームを、その後段のRemote Networkにブリッジする。そうすることによってPANU６０１が発したレイヤー２フレームは、NAP/LAC６０２やLNS６０４によってプロトコルの変換を受けながらRemote Network６０６に接続されているtarget host６０５に送り届けられる。
【００４７】
次からはPANU６０１とNAP/LAC６０２との間でやり取りされる小規模無線通信システムの手順について詳細に見ていくことにする。
【００４８】
まずPANU６０１は当該小規模無線通信システムの標準手順であるinquiryメッセージを発し、pageメッセージを受け取る。そしてNAP/LAC６０２との間のAccess Control List（以下、ACL）リンクを確立する。これは一般的なリンクの確立方法を示しているのであって、この確立の手順や、あるいはどちらからリンクの確立要求をするのかを限定するものではない。必要であればやり取りされるデータを何らかの方法で暗号化しても良いし、別途PANU６０１とNAP/LAC６０２の間で互いを認証する行為が成されても良い。
【００４９】
ACLリンクが確立されると、次にPANの仕様に従ってPANU６０１からNAP/LAC６０２へL2CAPのチャネルを設定する。ここでもL2CAPの仕様に沿った手順が取られる。このとき、ACLリンクを確立したときと同じように、何らかの方法でやり取りされるデータの暗号化や認証行為が行なわれてもかまわない。
【００５０】
引き続きPANの仕様に沿って、確立されたL2CAPチャネルの上にBNEPセッションを確立する。BNEPセッションを確立するためにはPANU４０１とNAP/LAC４０２の間でBNEPの仕様に定められているBNEP＿CONNECTION＿SETUP＿REQUESTとその応答であるBNEP＿CONNECTION＿SETUP＿RESPONSEのやり取りをする。これらが正常に行なわれることによってPANU６０１とNAP/LAC６０２との間にBNEPセッションが設定される。
【００５１】
実施形態２(a)では予め仕様に定められた機能以外の制御を実現するため、上記のBNEP＿CONNECTION＿SETUP＿xxxに加えて、仕様に定められているBNEP＿CONTROLメッセージを拡張して利用している。具体的にはBNEP＿CONTROLメッセージのControl Typeに、必要とする制御メッセージを追加する。この方法ならばBNEPに規定のプロトコルを逸脱することなく、必要とする制御メッセージを伝達することが可能であり、煩雑な手順が不要である。
【００５２】
BNEP＿CONTROLメッセージのヘッダを、ビッグエンディアン表記したときの一般形を図７、７０１に示す。BNEPの仕様では、BNEP Control Typeで予約されていない値（0x07以降）を、７０１のBNEP Control Typeフィールドに採用できるとされている。なお、これ以降のBNEP＿CONTROLメッセージのヘッダを示す図は、便宜的にすべてビッグエンディアン表記されているものとする。
【００５３】
実施形態２(a)ではPANU６０１からL2TPトンネル６０３の設定や解放の要求をする。これらの指示をNAP/LAC６０２に与えるためにBNEP＿CONTROLメッセージを拡張して利用する。具体的には（１）トンネル設定要求のBNEP Control Typeを0x07、（２）トンネル設定要求応答のBNEP Control Typeを0x08、（３）トンネル開放要求のBNEP Control Typeを0x09、（４）トンネル解放要求応答のBNEP Control Typeを0x0a、としてそれぞれを定義する。もちろんここで示したメッセージやControl Typeの値は一例であり、必ずしもこの通りである必要は無い。必要な機能を適法な値で割り当てられればなんら問題とはならない。
【００５４】
図７および図８に、上記（１）から（４）までのBNEP＿CONTROLメッセージヘッダの例を示す。それぞれ（１）トンネル設定要求は７０２、（２）トンネル設定要求応答は７０３、（３）トンネル開放要求は８０１、（４）トンネル解放要求応答は８０２に相当する。
【００５５】
PANU６０１からNAP/LAC６０２へ向かう（１）トンネル設定要求のメッセージヘッダである７０２のTunnel End Node IP Addressは、NAP/LAC６０２がL2TPトンネル６０３を張るべき他方のLNS６０４が持つIPアドレスを指定する。これによりPANU６０１はNAP/LAC６０３に対し、target host６０５へのルートとなるLNS６０４をL2TPトンネル６０３の相手とする旨、指示することができる。
【００５６】
（１）トンネル設定要求の応答としてNAP/LAC６０２からPANU６０１へ返される（２）トンネル設定要求応答のメッセージヘッダである７０３のTunnel ID、Response Messageのそれぞれのフィールドについて説明する。Tunnel IDフィールドの値は、L2TPトンネル６０３を識別するために使われる。以降、該L2TPトンネルを特定する識別として利用される。Response Messageには、（１）トンネル設定要求メッセージに対する処理結果が入って返される。Response Messageの値としては、たとえば
値  ：  意味
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
0x0000：Success
0x0001：Fail(Unreach)
0x0002：Fail(Refused)
0x0003：Fail(No more resource)
0x0004：Fail(Unknown)
のようにしても良い。ここに示す値と意味は、これに限定されるものではない。必要に応じて変更、追加をしてもかまわない。
【００５７】
（３）トンネル解放要求および（４）トンネル解放要求応答のメッセージヘッダ内のTunnel IDは、（２）トンネル設定要求のところでも述べたようにL2TPトンネル６０３を識別するものである。PANU６０１からNAP/LAC６０２へ送られる（３）トンネル開放要求に対して、NAP/LAC６０２からPANU６０１へ向かって（４）トンネル解放要求応答が返される。このときResponse Messageにトンネル解放要求の処理結果が返される。たとえば
値  ：  意味
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
0x0000：Success
0x0001：Fail(Not exist)
0x0002：Fail(Unknown)
などが考えられる。この値は先に述べた（２）トンネル設定要求応答と同様に、ここに挙げたものに限定されるものではない。
【００５８】
このとき、同一のRemote Network６０６へのL2TPトンネル６０３を希望する複数のPANU６０１を受け付けられるNAP/LAC６０２ではL2TPトンネル６０２の解放に関して注意を要する。上記のようなNAP/LAC６０２では解放しようとしているL2TPトンネル６０２が、他のPANU６０１によって引き続き利用されている場合に解放されてしまわないようにする必要がある。具体的にはトンネル設定／解放要求で使用しているTunnel IDの管理をLNS６０４内で行なうようにし、該Tunnel IDに相当するL2TPトンネル６０３を使用するPANU６０１がいないことを判断しなければならない。
【００５９】
（１）から（４）に示したようなBNEP＿CONTROLメッセージは既存のBNEPを拡張するものなので、たとえばBNEP＿CONNECTION＿SETUP＿REQUESTと共に与えることもできる。つまりPANU６０１がNAP/LAC６０２へのBNEPの接続要求を発するのと同時に、特定のLNS６０４へのL2TPトンネル６０３の設定指示を行なうことも可能である。実際にトンネル設定要求（Control Type = 0x07）を備えたBNEP＿CONNECTION＿SETUP＿REQUESTメッセージのメッセージヘッダの一例を、図９、９０１に示す。
【００６０】
これを受けたNAP/LAC６０１はBNEP＿CONNECTION＿SETUP＿REQUESTに対する応答をBNEP＿CONNECTION＿SETUP＿RESPONSEとして、さらにトンネル設定要求に対する応答をBNEP＿CONNECTION＿SETUP＿RESPONSEの拡張メッセージであるBNEP＿CONTROL(Control Type = 0x08)として、PANUに応答する。
【００６１】
上記の例ではそれぞれBNEP＿CONNECTION＿SETUP＿xxxの拡張メッセージとしてトンネル設定要求をしているが、必ずしもこのように上記要求と同時に行なう必要は無い。上記BNEPメッセージによってBNEPセッションが確立された後に、必要に応じてこれらトンネル設定要求のやり取りをしても良い。
【００６２】
さらに、前述のBNEP＿CONTROLメッセージを利用するとPANU、NAP/LAC相互に相手を認証する機能を与えることができる。本発明に使用の小規模無線通信システムではPiconetへの参加は容易だが、参加のみであらゆるサービスが使用できてしまうのではセキュリティなどの点で問題がある。特に本実施形態のように、インターネットを介した接続を許すネットワークシステムでは情報漏洩の防止という意味からも、接続される機器の認証は重要な意味を持つ。
【００６３】
前出のトンネル設定／解放の場合と同様に、BNEP＿CONTROLメッセージヘッダのBNEP Control Typeに、0x0bを持つBNEP認証メッセージという新規のメッセージを追加する。ここで採用した0x0bというControl Typeは便宜的に振ったものであり、これに限定されるものではない。ここでいう認証とはBNEPが仕様として備えるものではなく、あくまで本発明によって実現される拡張機能として付与するものである。以降、この仕組みをBNEP認証と呼ぶ。図９、９０２にBNEP認証メッセージのメッセージヘッダの一例を示す。
【００６４】
この中でAuthentication Transaction IDとは一連のBNEP認証手順を識別するために設けたIDである。Sender NameとSender Name Lengthは送信者名とその長さを示す。Receiver NameとReceiver Name Lengthは受信者名とその長さを示す。続くChallenge Stringは、一般に認証する際に用いられるチャレンジと呼ぶ乱数を基礎とした文字列であり、Challenge Lengthはその文字列の長さを示している。Message Digest Algorithm Typeはハッシュとも呼ばれる一方向関数の種別を示す。この種別には、たとえば0x00：N/A、0x01：MD5、0x02：SHA、．．．などの値をとることができる。単に、次のMessage Digest Stringに示された文字列がどのような一方向関数によるハッシュが掛けられたものであるかを特定できれば足りるものである。Message Digest LengthはMessage Digest Stringの長さである。Message Digestはたとえば、Sender Nameや相手から与えられるChallenge String、双方で保持している鍵などを決まった順序で連結したものを、Message Digest Algorithmで示されたハッシュ関数の入力としたときの出力値とすることができる。ここで言う鍵は暗号化の方法によっていくつかの種類がある。たとえば公開鍵暗号方式であればBNEP認証相手の公開鍵（証明書）、共通鍵暗号方式ならば共通秘密鍵である。いずれの暗号方式を取るとしても、何らかの方法によって予め双方で鍵情報を交換しておく必要がある。
【００６５】
BNEP認証においてはBNEP認証メッセージヘッダ情報が、PANU６０１−＞NAP/LAC６０２−＞PANU６０１、あるいはNAP/LAC６０２−＞PANU６０１−＞NAP/LAC６０２と渡ることによって相互に行なわれる。
【００６６】
このようにACLリンク設定、L2CAPチャネルの確立、BNEPセッションの確立、そして必要に応じてBNEP認証の行為が行なわれる。実施形態２(a)の場合には、BNEPセッションの確立時、あるいは別のタイミングでL2TPトンネル６０３が設定され、その結果がトンネル設定要求応答としてPANU６０１に返却される。
【００６７】
図１０に実施形態２(a)におけるメインシーケンスを示す。最初にPANU６０１とNAP/LAC６０２との間のセッションを確立するところから始まる。PANU６０１とNAP/LAC６０２はそれぞれが備えるBT基本機能５０８が、当該小規模無線通信システム仕様書とPAN Profileに従ったBT接続手順１００１により両者間に通信路が確保される。次にBNEP基本機能同士がPAN Profileに付属するBNEP仕様書のBNEP＿CONNECTION＿SETUP＿REQUESTとBNEP＿CONNECTION＿SETUP＿RESPONSEのやりとりからなる、BNEPセットアップハンドシェイク１００２を行なう。ここまでは公開されている仕様書に準じた手順を示しており、これ以降が本発明の特徴的な部分となる。特に特徴的な部分を図１１に抽出した図を示しておく。
【００６８】
この時点で必要に応じてBNEP認証手順１００３あるいは１１０２を行なうことができる。同手順はあくまで認証行為を行なうものであるため、必ずしも必須の手順ではない。あるいはこの時点でなくとも、任意の時点、たとえばBNEP認証手順１００６のようにL2TPトンネルの設定後に認証をすることも可能である。
【００６９】
ここに示すBNEP認証手順では前述のように認証されるもの同士、つまりPANU６０１とNAP/LAC６０２の間で予め鍵情報の交換が行なわれている必要がある。本実施形態では鍵情報の交換方法については規定しないが、鍵情報は極めて秘匿性が重要であるから取り扱いに注意が必要である。
【００７０】
図１２にBNEP認証手順でやり取りされるメッセージの具体例を示す。図１２ではBNEPセッションが確立された後の、NAP/LAC６０２側からPANU６０１との間の認証手順を開始している例を示している。もちろんPANU６０１側からNAP/LAC６０２との認証手順を開始してもかまわない。シーケンスの流れが逆になるだけであり，認証行為そのものにはなんら変わりがない。
【００７１】
NAP/LAC６０２は以降の一連のBNEP認証メッセージで用いるTransaction IDとして0x4afe、送信ノード名として“NAP/LAC-1”、PANUへのChallengeとして“20010917142028NAP/LAC-1-0003”、そして各々のLengthフィールドには対応する文字列の長さを設定したBNEP認証メッセージをPANU宛に送信する（１３０１）。Transaction IDは、本シーケンスとは無関係のBNEP認証メッセージを見分ける目的で付与するものなので、衝突しないように発生周期が長いものの方が望ましい。送信ノード名はPANUが鍵を認識できるものであれば特に限定しない。
【００７２】
Challengeはreplay attackなどにも対処できるよう過去から未来に渡っても重複しないものが望ましい。さらにspoofingに対処することを考慮すると、第三者にとって予測ができないものである必要がある。たとえば時刻や常に片方向にしかカウントしないカウンタなどの情報と共に、ランダムな数値列が含まれるものが良い。
【００７３】
このBNEP認証メッセージを受け取ったPANU６０１は、Transaction IDには受け取ったものと同じ0x4afeを、送信ノード名として“PANU-1”を、受信ノード名には受け取ったものの送信ノード名である“NAP/LAC-1”を、そしてNAP/LACへのChallengeとして“20010917142040PANU-1-0001”、Message Digest AlgorithmにはMessage Digest Stringで使用したハッシュ関数であるMD5を表す0x01、Message Digest Stringには「送信ノード名＋受け取ったChallenge＋共通鍵」であるところの“PANU-120010917142028NAP/LAC-1-0003naisho”のMD5によるハッシュ結果、それと各々のLengthフィールドには対応する文字列の長さを入れたBNEP認証メッセージを送り返す（１２０２）。上記の例では、共通鍵として“naisho”という文字列を指定している。
【００７４】
これを受け取ったNAP/LACは、自前でMessage Digest Stringを検算し、正しいならば相手のPANU６０１の認証は完了である。Message Digest Algorithmの値とMessage Digest Stringの生成方法は、少なくとも認証しあう両者の間で合意が取れておればよく、必ずしもシステム単位に一致させる必要は無い。また、単にユニークさが担保される限りにおいては、これら生成方法も限定しない。
さらにNAP/LAC６０２はこのメッセージへの応答として、PANU６０１と同様にMessage Digest Stringを生成したものを含めて送信する（１３０３）。同様にPANU６０１はその値を検算し、NAP/LAC６０２の認証を完了する。このシーケンスを経て両者の認証が完了する。
【００７５】
もしもMessage Digest Stringの検算で正しいと認識できない場合はChallengeを複数回送信し、その応答をもって複数回確認を試みても良い。
【００７６】
図１２に示した例では、NAP/LAC６０２からPANU６０１へ送信しているMessage Digest Stringは、SHAをMessage Digest Algorithmとして選択しているが、PANU６０１と同様にMD5を選択してもかまわない。むしろ同じものにしておいた方が好ましい場合もあると思われる。
【００７７】
NAP/LAC６０２との、Piconetのような無線ネットワークに参加するPANU６０１の相互認証を行なうことは大きな意義がある。特に無線を使うネットワークは物理的経路を伴わず、不特定人が比較的参加しやすい。このためにクラックからの防衛が難しいことがある。PANU６０１をL2TPトンネルの入り口であるNAP/LAC６０２で認証し、信頼の置けるPANU６０１だけを通過させる本発明はクラック対策に有効な方法となりうる。
【００７８】
次に図１０のトンネル設定手順１００４あるいは図１１の１１０３と、それを契機として実行される手順である図１０のL2TPトンネル確立手順１００５あるいは図１１の１１０４について、図１３によりそのシーケンスを説明する。
PANU６０１は自身が持つBNEP機能とトンネル設定機能を使用して、NAP/LAC６０２に対しトンネル設定要求１３０１を送信する。トンネル設定要求１３０１の図７、７０２に示すTunnel End Node IP Addressには該NAP/LACのIPアドレスを指定している。ここでは「211.2.4.8」が充てられている。NAP/LAC６０２は自身が持つBNEP機能によりこのトンネル設定要求メッセージを受ける。そして同じくNAP/LAC６０２が持つトンネル拡張機能によりL2TPトンネル設定契機１３０２が、L2TP LAC機能５１１に対して発せられる。
【００７９】
NAP/LAC６０２が持つこのL2TPトンネル設定契機１３０２を受け取ったL2TP LAC機能５１１は、L2TPの仕様に従ってL2TPトンネルを設定する。設定にあたってはトンネル設定要求１３０１のTunnel End Node IP Addressに指定のIPアドレス、つまり「211.2.4.8」をIPアドレスに持つLNS６０４をL2TPトンネル６０３の相手方とし、そのLNS６０４が持つL2TP LNS機能５１２とやり取りをしながら行なわれる。このときNAP/LAC６０２とLNS６０４の間ではL2TPトンネル確立手順の仕様に従ったやり取りが成されることになる。
【００８０】
L2TPトンネル確立の過程で、このL2TPトンネル６０３を識別するTunnel IDが決定される。図１３の例ではTunnel IDとして「0x0003」が採番されたことを示している。このTunnel IDとSuccess/Fail等の結果はL2TPトンネル設定契機応答１３０３としてNAP/LAC５０２のトンネル拡張機能５０９に届けられ、BNEP機能によって要求元であるPANU６０１に返される。NAP/LAC６０２からPANU６０１への応答は、トンネル設定要求応答１３０４としてBNEPデータの形で行なわれる。もしもL2TPトンネル６０３の確立が何らかの理由で成功しなかった場合には、その理由に見合うResponse Messageを含めたトンネル設定要求応答１３０４を返さねばならない。
【００８１】
図１４にはPANU６０１からLNS６０４へ流れるデータのカプセル化の様子を示している。PANU６０１が送信したいUser Dataは、Ether Headerなどが付加されてレイヤー２フレームとなる。NAP/LAC６０２に送る際にはこのレイヤー２フレームのEther Headerとその内容に従ってBNEP Headerが付加される。NAP/LAC６０２ではBNEPペイロードとBNEP Headerからレイヤー２フレームを抽出し、これにL2TPヘッダを付加して、L2TPトンネル６０３を介してLNS６０４へと送る。
【００８２】
LNS６０４ではL2TPペイロード、つまりレイヤー２フレームを抽出し、後段のネットワークに存在するtarget host６０５へ到達する。Target host６０５は必要に応じてこの中からEtherペイロード、つまりUser Dataを取り出して利用する。この様子は既述の図６に示したフレームの流れ方にも示されている。PANU６０１から発せられたレイヤー２フレームはNAP/LAC６０２の前後でBNEPとL2TPによって運ばれるのである。
【００８３】
PANU６０１が発するレイヤー２フレームがLNS６０４によってtarget host６０５が存在するネットワーク６０６に到達するということは、すなわちPANU６０１と当該target host６０５とが同じネットワーク内にあるように見せることができることを意味する。具体的にはPANU６０１がDHCPに対応していれば、図３に示したネットワーク構成例のDHCP server３０４を通じてIPアドレスの取得なども行なえるようになる。DHCPのような既存の運用技術を用いて、動的にIPアドレスを取得する取得することが可能となれば、PANU６０１にとってさらなるモバイル環境の向上が図れる。また既存の技術としてのDNSを用いることもできるように実装することも可能である。さらに、より好適なネットワーク環境を構築するために、LNS６０４にPANU６０１のProxyARP機能を持たせても良い。このような実装にすることでARP(Address Resolution Protocol)にも対応することができるようになる。
【００８４】
一通りの通信が終了したPANU６０１は自らのタイミングによってL2TPトンネル６０３を開放することができる。L2TPトンネル６０３を維持しておくことは通信リソースを消費するため、不要になったときには解放することが望ましい。不要な通信リソースの整理は通信システムの安定性に貢献し、またより多くの通信を受け入れることができる。この指示は図１０に示すようにPANUのBNEP機能がLNSのBNEP機能に対し、トンネル解放手順１００７として発せられる。これを契機としてNAP/LAC５０２のL2TP LAC機能５１１と、LNS５０３のL2TP LNS機能５１２との間で、L2TPトンネル解放手順１００８が行なわれる。この様子を図１５に従って説明する。
【００８５】
PANU５０１のトンネル設定機能５０５とBNEP機能５０４とによってトンネル開放要求１５０１がNAP/LAC５０２に対して送られる。トンネル開放要求１５０１は既述の図８、８０１に示したようなメッセージヘッダを持っている。メッセージヘッダ８０１には解放すべきL2TPトンネル６０２を識別するTunnel IDフィールドがあり、図１５の例ではこれを「0x0003」としている。BNEPデータの形で当該メッセージを受け取ったNAP/LAC５０２のBNEP機能は、この要求があったことを同じNAP/LAC５０２内に持つトンネル拡張機能５０９に通知する。
【００８６】
トンネル拡張機能５０９はこれをきっかけとして、NAP/LAC５０２内のL2TP LAC機能５１１に対し、L2TPトンネル解放契機１５０２を上記のようにして得られたTunnel IDと共に発信する。L2TP LAC機能５１１はLNS５０３のL2TP LNS機能５１２との間で、L2TPの仕様に従ったL2TPトンネル解放手順を行なう。
【００８７】
ここで解放されるL2TPトンネルは、前出のTunnel IDによって識別されるL2TPトンネルである。ただし当該L2TPトンネルを使用するPANU６０１が複数存在し得る実装にしている場合には、指示されたTunnel IDによって識別されるL2TPトンネルを単純に解放してはならないことがある。上記のような実装では、図５に示したトンネル拡張機能５０９が既設定のTunnel IDの管理をし、解放要求されたL2TPトンネルを使用するPANU６０１がいないと判断された場合に限り、該Tunnel IDのL2TPトンネル解放契機１５０２を発行するようにしなければならない。
【００８８】
NAP/LAC６０２とLNS６０２の間で行なわれたL2TPトンネル解放手順の処理結果は、NAP/LAC５０２のL2TP LAC機能５１１から同じNAP/LAC５０２にあるトンネル拡張機能５０９に対し、L2TPトンネル解放契機応答１５０３として伝えられる。このトンネル解放契機応答１５０３はNAP/LAC５０２のBNEP機能によってBNEPデータとなり、PANU６０１に対しトンネル解放要求応答１５０４として伝えられる。トンネル解放要求応答１５０４は図８、８０２のようなメッセージヘッダの形をしている。先のL2TPトンネル解放手順の処理結果はメッセージヘッダ８０２のResponse Messageフィールドに格納される。もしもL2TPトンネルの解放が何らかの理由で成功しなかった場合には、その理由に見合うResponse Messageを含めたトンネル解放要求応答１５０４を返さねばならない。
【００８９】
次に実施形態２(b)について見ていくことにする。この場合も、ネットワークシステムの全体構成は、実施形態２(a)のときの図３と同じである。
図５により実施形態２(a)との相違を説明する。前述したようにシステム構成は実施形態２(a)と同じであっても、実施形態２(b)ではL2TPトンネルの設定要求をする者が異なる。これはPANU５０１からではなく、NAP/LAC５０２からL2TPトンネルに関する指示をするのである。よって実施形態２(b)の場合には、トンネル設定機能５０５は存在しない。実施形態２(a)のときのBNEP＿CONTROLを拡張して与えられていたL2TPトンネルの確立時期と確立のために必要な情報は、トンネル拡張機能５０９が管理し、また確立に必要な情報についてもここで保持される。さらに複数のPANUが一つのL2TPトンネルを使用する場合には、PANUで利用する際のTunnel ID管理もここで行なう。
【００９０】
次に実施形態２(a)との違いを、図６を用いて説明する。実施形態２(b)ではNAP/LAC６０２はPANU６０１からのL2TPトンネル６０３の設定指示を待つことなく、独自のタイミングでLNS６０４とのL2TPトンネル６０２を設定する。L2TPトンネル設定のタイミングとしては、たとえばNAP/LAC６０２が起動したときとすることができる。あるいはPANU６０１から受け取ったレイヤー２フレームデータを解析し、相手先となるtarget host６０５が存在するRemote Network６０６へのルートとなっているLNS６０４を決定、その決定に従ってL2TPトンネル６０３を張るようにしても良い。いずれとしても実施形態２(a)のように、L2TPトンネル６０３の接続先であるLNS６０４のIPアドレスを特定する方法が与えられないため、当該情報はNAP/LAC６０２自身が予め保持している。
【００９１】
続いて図１６に実施形態２(b)の時のメインシーケンスの一例を示す。
大半が既述の実施形態２(a)と同じシーケンスをとるため、相違する部分についてのみ説明する。実施形態２(b)ではPANU６０１からの要求による、NAP/LAC６０２とLNS６０４の間のL2TPトンネル設定に関する指示をしない。よって実施形態２(a)のメインシーケンスと実施形態２(b)のメインシーケンスとの違いは、図１０のトンネル設定手順１００４のようなPANU６０１からのトンネル設定手順が存在しないことである。NAP/LAC６０２からLNS６０４へのL2TPトンネル６０３は、NAP/LAC６０２自身の判断によって、図５に示すL2TP LAC機能５１１がL2TPトンネル６０３を設定するように働く。PANU６０１は基本的に当該L2TPトンネル６０３の設定／解放の指示を行なうことはない。このことから２つの機能的な相違を生じる。
【００９２】
一つ目はL2TPトンネル確立のタイミングである。PANU６０１が使用するL2TPトンネル６０３は、当該PANUがその通信相手とするtarget host６０５と、少なくとも通信を始める前に確立されていれば良い。上記の条件を満たす限りNAP/LAC６０２はL2TPトンネル６０３の確立を任意のタイミングで行なうことができるが、図１６に示したメインシーケンスでは該シーケンスの開始時に先立って行なわれている例が示されている。図１６に示したL2TPトンネル確立手順１６０１がこれに相当する。PANU６０１の通信が行なわれる前L2TPトンネル６０３が確立されておればよいので、L2TPトンネル確立手順１６０１はNAP/LAC６０２が起動したタイミングで行なわれるものであっても良い。
【００９３】
また、実施形態２(a)のときにあるようなトンネル解放手順についても、当該NAP/LAC６０２を介して通信をしているPANU６０１に支障がない範囲であれば、解放のタイミングを限定する必要がない。ネットワークリソースの面から見て支障がなければ、L2TPトンネル６０３をNAP/LAC６０２の起動時に設定したままにしておいてもかまわない。よって図１６にも当該トンネル解放手順については明記していない。
【００９４】
二つ目はNAP/LAC６０２にとっての、L2TPトンネル６０３を張る相手先となるLNS６０４の特定方法である。実施形態２(a)ではPANU６０１から図７、７０２に示すようにL2TPトンネルの相手先情報としてTunnel End Node Addressが与えられた。本実施形態ではこのような情報が都度与えられないため、NAP/LAC６０２自身が接続先となるLNS６０４を特定する情報を予め保持していなければならない。LNS６０４を特定する情報、たとえばLNS６０４が持つIPアドレスなどは図５に示すトンネル拡張機能５０９が持っている。
【００９５】
NAP/LAC６０２は自らが判断したタイミングと、L2TPトンネル６０３の接続相手となるLNS６０４の、トンネル拡張機能５０９が持っている情報とによって、L2TP LAC機能５１１に対し、図１３に示すL2TPトンネル設定契機１３０２を発する。
【００９６】
本実施形態ではL2TPトンネル６０３を利用するPANU６０１は、自らが利用するL2TPトンネル６０３についてなんら感知する必要がない。このことはPANU６０１での、本実施形態の通信における少なくともL2TPトンネル６０３に関する処理を省くことができるという効果がある。また、利用の都度L2TPトンネル６０３を確立する必要がないので、トンネル設定手順に要する時間が短縮されるという効果もある。
【００９７】
（実施形態３）
次に実施形態３(a)についての説明を行なう。実施形態３(a)と実施形態２(a)との相違点は既述の図４の４０１と４０２にあるように、L2TPトンネル６０２を通過するデータのプロトコルにある。図４の４０２、つまり実施形態３(a)の場合は、PANU６０１から発信されたBNEPデータの内容を、BNEPヘッダを含んだままL2TPデータに変換（カプセル化）しLNS６０４まで送り届ける。以降、実施形態３(a)のLNS６０４を、BNEPデータを処理できるLNSとして“LNS＋”と表記する。
【００９８】
実施形態３(a)にあっても、当該ネットワークシステムの全体構成は図３に示すものと同様である。ただし、上記のようにBNEPデータを処理できるLNS３０３である点が実施形態２(a)と相違している。
【００９９】
図１７に実施形態３(a)におけるブロック構成の一例を示す。実施形態２(a)を表す図５との違いは、LNS＋１７０５にBNEP機能１７０２が追加されていることと、該BNEP機能１７０２とPANU１７０４のBNEP機能それぞれに暗号通信機能１７０１および１７０３が追加されていることである。暗号通信機能１７０１および１７０３については次の実施形態４として説明を行なうこととし、本実施形態では暗号通信機能には触れない。
【０１００】
実施形態３(a)ではLNS＋によってBNEPデータを処理する必要がある。このため図１７に示すようにBNEP機能１７０３が付加されている。LNS+１７０５に付加されたBNEP機能１７０２は、BNEPを処理するBNEP基本機能の他に、認証機能１７０７と同様な認証機能１７０８を備えている。LNS＋１７０５は認証機能１７０８を備えることにより、NAP/LAC６０２と同様にPANU１７０４からのBNEP認証メッセージを解し、PANU１７０４とのBNEP認証手順を処理することが可能となる。
【０１０１】
図１８に実施形態３(a)のフレームの流れの一例を示す。図中、PANU１８０１からのBNEPデータがL2TPトンネル１８０３を貫通し、LNS＋１８０４まで到達している様子が示されている。上記以外の点については、実施形態２(a)の場合と同様である。
【０１０２】
図１９に、実施形態３(a)におけるメインシーケンスを示す。実施形態２(a)のメインシーケンスを示す図１０との相違はBNEPセットアップハンドシェイク１９０１と、LNS+１８０４に対するBNEP認証手順１９０２が加わることである。従って上記以外のシーケンスについては、実施形態２(a)で示したものと同様に行なわれる。
【０１０３】
LNS+１８０４がBNEPを解するということは、すなわちPANU１８０１によるLNS＋１８０４とのBNEPセッションの確立が必要なことを意味している。BNEPセッションの確立はNAP/LAC１８０２とのBNEPセッション確立と同様に、BNEPセットアップハンドシェイク１９０１のBNEP＿CONNECTION＿SETUP＿REQUESTとBNEP＿CONNECTION＿SETUP＿RESPONSEとによって行なわれる。このときPANU１８０１とLNS＋１８０４相互の、既述の方法の拡張されたBNEP＿CONTROLによるBNEP認証を行なっても良いし、これとは別のタイミングでBNEP認証を行なっても良い。
【０１０４】
実施形態３(a)によるLNS+１８０４と、PANU１８０１との相互認証はBNEPデータをL2TPトンネル１８０３に通ずることによって初めて実現されるものである。LNS+１８０４の後段に接続されたtarget host１８０５あるいは該target host１８０５が接続されたRemote Network１８０６に存在するノードを、出所の確かな信頼のおける利用者のみに使用させることができる。このことはインターネットなどを使う不特定の利用者への情報漏洩を防止することにおいて大きな効果を奏する。
【０１０５】
図２０に本実施形態における流れるデータのカプセル化の様子を示す。実施形態２(a)を説明する図１４と比較すると、PANU１８０１からもたらされたBNEPデータが、NAP/LAC１８０２によってL2TPデータに変換されるとき、BNEPヘッダも含んでL2TPペイロードに格納されている点が相違している。
【０１０６】
続けて実施形態３(b)について説明する。
この場合も、ネットワークシステム構成は図３と同様になる。
またブロック構成は、実施形態３(a)の際のブロック構成の一例を示すからPANU１７０４が持つトンネル設定機能１７０６を削除したものとなる。これは実施形態３(b)では、L2TPトンネルの設定をPANU１７０４からは行なわないことによる。
【０１０７】
一方、実施形態３(b)の場合のメインシーケンスは、図２１に示すようなメインシーケンスとなる。実施形態３(b)では、実施形態２(b)のときと同様にPANU１８０１側から要求してL2TPトンネルの設定を行なうことは無い。実施形態３(a)の時と同様のBNEPセットアップハンドシェイク２１０１と、BNEP認証手順２１０２が付加される以外は、実施形態２(b)のときと変わりが無い。実施形態３(b)によって得られる効果は、実施形態３(a)と同様の情報漏洩防止と、PANU１８０１でのL2TPトンネルについて考慮が不要という点である。
【０１０８】
（実施形態４）
次に実施形態４について説明する。実施形態４は実施形態３(a)または(b)のようにBNEPデータをLNS+１８０４まで伝達することによって、L2TPトンネル１８０３を含む、PANU１８０１からLNS＋１８０４の間に流れるデータを暗号化するものである。
【０１０９】
暗号化を実現するために、実施形態２(a)(b)や実施形態３(a)(b)と同様にBNEP＿CONTROLのBNEP Control Typeを追加定義する。ここでいう暗号化とはBNEPが仕様として備えるものではなく、あくまで本発明によって実現される拡張機能として付与するものである。以降、この仕組みをBNEP暗号と呼ぶ。
【０１１０】
実施形態４のネットワークシステム構成は図３に示すものと同じである。
【０１１１】
次にブロック構成について説明する。BNEP暗号を行なうためには、新たに暗号に関する処理が必要となる。これを図１７のブロック構成を示す図を用いて説明する。BNEP暗号はPANU１７０４とLNS＋１７０５との間で行なう暗号の仕組みであるため、その双方に暗号通信機能１７０１および１７０３をそれぞれ設ける。PANU１７０４から送り出されるデータには、暗号通信機能１７０１によってBNEP暗号ヘッダが付与される。それと同時に暗号通信機能１７０１は該BNEP暗号ヘッダに含めた各暗号化情報と同じ種類の暗号化方法により、そのBNEPデータに含まれる送信データも暗号化する。この暗号化されたBNEPデータは実施形態３(a)または(b)と同様の処理を受け、LNS＋１７０５が持つBNEP機能１７０２に届けられる。そしてBNEP機能１７０２の一機能である暗号通信機能１７０３によってBNEP暗号ヘッダの値から暗号化方式を特定する。暗号化に用いられた方法が特定できたところで、暗号通信機能１７０３は特定した暗号方式によって暗号化されたBNEPデータに含まれるデータを復号して送信データを得る。
【０１１２】
図２２にBNEP暗号に使われるBNEP暗号ヘッダの一例を示す。例では本拡張機能のためのBNEP Control Typeに「0x0c」を充てている。もちろんこの値に限定されることはなく、他のBNEP Control Typeで採用される値と重複していなければ良い。Security Parameter Indexは、BNEP暗号通信する双方で共有しているパラメータ値である。このパラメータ値は、該ヘッダに続くBNEP暗号化されたデータの鍵や暗号化方式などを示す値が振られる。またSecurity Parameter IndexはBNEP暗号化されたデータをやり取りするPANUやLNS+の間で、予め合意されていることを前提としている。Security Parameter Indexは少なくともやり取りされる双方で認識されていれば良く、通信システム全体での合意までは必要としない。Sequence Numberは該ヘッダを使用するたびに１が加算された積算数を示す数値である。Sequence Numberは悪意の利用者などが、たとえば繰り返しデータを発生させるような再送攻撃からシステムを保護する目的で利用される。この値はその利用目的から予測され難いものである必要がある。よって初期値は乱数などを用いて設定することが望ましい。またSequence Numberはデータが連続していることが確認できさえすればよいので、必ずしもBNEP暗号化されたデータをやり取りする双方で同調させる必要もない。
【０１１３】
本実施形態のネットワークシステムで処理されるシーケンスは、BNEP機能によりBNEP暗号および復号が行なわれる点のみ異なるだけで、実質的に実施形態３(a)または(b)のもの、つまり図１９あるいは図２１と同様である。
【０１１４】
次に本実施形態のBNEP暗号ヘッダを付与した時の、データのカプセル化の様子を図２３に示す。PANU１７０４が送り届けたいUser DataにEther Headerなどを付加してレイヤー２フレームを生成する。生成されたレイヤー２フレームのUser DataはPANU１７０４が持つ暗号通信機能１７０１により暗号化される。該暗号化されたものに、たとえばブロック暗号を施すようなときに必要となる場合があるpadding部が加わり、暗号データとなる。PANU１７０４のBNEP機能１７０９は該暗号データにBNEP暗号を示す暗号化情報がさらに付加された暗号化ヘッダ付きのBNEP Headerを付加し、BNEPデータに変換する。これを受けたNAP/LAC１７１０はさらにL2TP Headerを付加して、NAP/LAC１７１０とLNS+１７０５の間に確立されたL2TPトンネル１８０３を介してLNS+１７０５へと送られる。それを受け取ったLNS+１７０５はL2TPデータのBNEP Headerに含まれるBNEP暗号に関する情報を解析する。そしてLNS+１７０５が持つ暗号通信機能１７０３が、受け取ったBNEPデータに含まれる暗号化されたデータを復号してレイヤー２フレームを得る。この復号された後のレイヤー２フレームデータはLNS+１７０５によって、LNS+１７０５の後段に接続されたネットワークに存在するtarget host１８０５にブリッジされる。
【０１１５】
図１８に示すPANU１８０１からLNS+１８０４までの間に流れるデータが暗号化されることによって、L2TPトンネル１８０３が生成されるインターネットなどを利用する不特定人によって通信内容が盗聴されることを防止することができる。またNAP/LAC１８０２を通過する際の通信データも暗号化が施されたものとなるため、今後公衆設備となる可能性の高い該NAP/LACの、管理者のレベルにあるものからも保護することができる。
【０１１６】
【発明の効果】
本発明により小規模無線通信システムのPANを実装した当該小規模無線通信機器が、リモートネットワークに存在するホストに、レイヤー２に相当するリンクを介してアクセスすることができるようになる。またPANUの上記形態における接続の際に行なう認証の仕組みと、そこに流れるデータの暗号化の仕組みを提供し、ネットワークシステムの安全性確保と通信内容の秘匿性を保証することができる。
【図面の簡単な説明】
【図１】本発明の実施形態１におけるフレームの流れの一例を示す図である。
【図２】本発明の実施形態１の変形型におけるフレームの流れの一例を示す図である。
【図３】本発明におけるネットワーク構成図の一例である。
【図４】  Ethernet(R)フレームを伝送するためのトンネルの構成例を示す図である。
【図５】本発明の実施形態２におけるブロック構成図の一例である。
【図６】本発明の実施形態２におけるフレームの流れの一例を示す図である。
【図７】本発明の実施形態２におけるBNEP＿CONTROLメッセージヘッダの例を示す図である。
【図８】本発明の実施形態２におけるBNEP＿CONTROLメッセージヘッダの例を示す図である。
【図９】本発明の実施形態２におけるBNEP＿CONTROLメッセージヘッダの例を示す図である。
【図１０】本発明の実施形態２(a)におけるメインシーケンスの一例を示す図である。
【図１１】本発明の実施形態２(a)におけるBNEPシーケンスの一例を示す図である。
【図１２】本発明の実施形態２における認証シーケンスの一例を示す図である。
【図１３】本発明の実施形態２(a)におけるトンネル設定シーケンスの一例を示す図である。
【図１４】本発明の実施形態２におけるカプセル化とその展開を説明する図である。
【図１５】本発明の実施形態２(a)におけるトンネル解放シーケンスの一例を示す図である。
【図１６】本発明の実施形態２(b)におけるメインシーケンスの一例を示す図である。
【図１７】本発明の実施形態３(a)におけるブロック構成図の一例である。
【図１８】本発明の実施形態３(a)におけるフレームの流れの一例を示す図である。
【図１９】本発明の実施形態３(a)におけるメインシーケンスの一例を示す図である。
【図２０】本発明の実施形態３(a)におけるカプセル化とその展開を説明する図である。
【図２１】本発明の実施形態３(b)におけるメインシーケンスの一例を示す図である。
【図２２】本発明の実施形態４におけるBNEP＿CONTROLメッセージヘッダの例を示す図である。
【図２３】本発明の実施形態４におけるカプセル化とその展開を説明する図である。
【符号の説明】
１０１          PANU(Personal Area Network User)
１０２          NAP/LAC(Network Access Point/L2TP Access Concentrator)
１０４          L2TPトンネル
１０５          LNS(L2TP Network Server)
７０１          BNEP＿CONTROLヘッダの一般形
７０２          トンネル設定要求のためのBNEP＿CONTROLヘッダの例
７０３          トンネル設定要求応答のためのBNEP＿CONTROLヘッダの例
７０４          トンネル解放要求のためのBNEP＿CONTROLヘッダの例
７０５          トンネル解放要求応答のためのBNEP＿CONTROLヘッダの例
９０１          BNEPセットアップハンドシェイクと共にトンネル設定要求を行なうときのBNEPヘッダの例
９０２          BNEP認証のためのBNEP＿CONTROLヘッダの例
１７０４        LNS+(L2TP Network Server +)
２２０１        BNEP暗号のためのBNEP＿CONTROLヘッダの例
【図１】
0003789098.tif 000002
【図２】
0003789098.tif 000003
【図３】
0003789098.tif 000004
【図４】
0003789098.tif 000005
【図５】
0003789098.tif 000006
【図６】
0003789098.tif 000007
【図７】
0003789098.tif 000008
【図８】
0003789098.tif 000009
【図９】
0003789098.tif 000010
【図１０】
0003789098.tif 000011
【図１１】
0003789098.tif 000012
【図１２】
0003789098.tif 000013
【図１３】
0003789098.tif 000014
【図１４】
0003789098.tif 000015
【図１５】
0003789098.tif 000016
【図１６】
0003789098.tif 000017
【図１７】
0003789098.tif 000018
【図１８】
0003789098.tif 000019
【図１９】
0003789098.tif 000020
【図２０】
0003789098.tif 000021
【図２１】
0003789098.tif 000022
【図２２】
0003789098.tif 000023
【図２３】
0003789098.tif 000024