(57)【特許請求の範囲】
【請求項１】
被検証装置から送出された電文と、所定の通信方式の仕様に基づき予め作成されたルールデータとを比較することにより、前記被検証装置の電文送出動作が、前記所定の通信方式の仕様に適合しているか否かを検証するための仕様適合性検証装置であって、
前記通信方式の仕様に基づき作成され、複数の検証事項に関するルールデータを含む標準ルールデータを暗号化した暗号化標準ルールデータを格納する暗号化標準ルールデータ格納手段と、
前記複数の検証事項の中の一部の検証事項に関して作成された部分ルールデータを格納する部分ルールデータ格納手段と、
前記暗号化標準ルールデータ格納手段から、前記暗号化標準ルールデータを読み出し、当該暗号化標準ルールデータを復号して前記標準ルールデータを取得する復号化手段と、
前記部分ルールデータ格納手段から前記部分ルールデータを読み出し、前記標準ルールデータにおける前記部分ルールデータの検証事項に対応する部分を、当該部分ルールデータの内容に書き換えることにより、書き換え済ルールデータを生成するルールデータ書き換え手段と、
前記書き換え済ルールデータと、前記電文とを比較することにより仕様適合性検証を行う比較手段とを備えた仕様適合性検証装置であり、
前記標準ルールデータにおける各ルールデータは、検証事項と、当該検証事項に対する設定情報とを有し、
前記仕様適合性検証装置は、
前記標準ルールデータの中の書き換え可能なルールデータに対応する検証事項を表示する表示手段と、
前記書き換え可能なルールデータに対応する検証事項に対する設定情報の入力を受け、当該検証事項と入力された前記設定情報とを含む前記部分ルールデータを作成し、当該部分ルールデータを前記部分ルールデータ格納手段に格納する部分ルールデータ作成手段と
を更に備えたことを特徴とする仕様適合性検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置が送出するメッセージ（電文）が、所定の通信プロトコル（通信方式と呼ぶ）の仕様に基づき予め作成された規則（以下、ルールと呼ぶ）に合致しているか否かを確認することにより、上記通信装置のメッセージ送出動作が上記の仕様に適合しているか否かを検証するための仕様適合性検証装置に関するものである。
【背景技術】
【０００２】
例えばＶｏＩＰによる通信サービスを提供する場合、一般的に、ＳＩＰ等の通信プロトコルを用いてメッセージの送受信を行う複数の通信装置を準備し、それらを通信ネットワーク上に配置して通信サービスネットワークを構築する。
【０００３】
上記のような通信サービスを提供あるいは開発するにあたっては、通信サービスネットワークを構成する予定の通信装置が、通信プロトコルの仕様及び通信サービス特有の仕様に従って適切に動作することを確認することが必要である。
【０００４】
そのような確認を行うための手法の一つとして、実際の通信サービスで用いられるメッセージと同等のメッセージを通信装置（被検証装置と呼ぶ）に送信し、それを受けた被検証装置から返されるメッセージの内容が、通信プロトコル等に基づき予め作成したルールに従っているか否かを検証装置において検証する手法がある。
【０００５】
なお、本願に関連する先行技術文献として特許文献１、２がある。
【特許文献１】特開2001-103123号公報
【特許文献２】特開2004-248192号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記の手法により検証を行う場合、検証装置にはルールを示すルールデータが格納されることになる。このルールデータは、通信プロトコルの標準規格書等に基づき作成されるが、膨大な量の標準規格書の中から検証に必要な部分を抽出して適切なルールデータを作成するには大きな労力を要する。従って、ルールデータを検証装置のユーザ（通信サービスの提供者等）に提供する提供者にとって、ルールデータが容易にユーザに取得され、流用されることは好ましいことではない。
【０００７】
このような流用を防止するために、ルールデータを暗号化し、メッセージをチェックするときにのみ検証装置の内部で外部に漏れないようにして暗号化ルールデータを復号化することが考えられる。このようにすれば、検証装置のユーザはルールデータの内容を把握することはできなくなり、ルールデータの流用を防止できる。
【０００８】
しかしながら、検証装置のユーザによっては、通信プロトコルの標準規格書等に基づき予め作成されたルールデータの中の一部を、ユーザが提供しようとする通信サービスに特有の仕様や当該通信サービスに用いられる通信装置に特有の条件等に基づくルールに変更したい場合があり、上記のようにルールデータを暗号化してしまってはこのようなユーザの要望に応えることができなくなる。
【０００９】
本発明は上記の点に鑑みてなされたものであり、被検証装置が送出するメッセージの内容と、予め作成したルールデータとを比較することにより、被検証装置のメッセージ送出動作が所定の通信方式の仕様に適合しているかどうかを検証する検証装置において、ルールデータの流用を防止するとともに、ユーザがルールデータの内容を変更することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明は、被検証装置から送出された電文と、所定の通信方式の仕様に基づき予め作成されたルールデータとを比較することにより、前記被検証装置の電文送出動作が、前記所定の通信方式の仕様に適合しているか否かを検証するための仕様適合性検証装置であって、前記通信方式の仕様に基づき作成され、複数の検証事項に関するルールデータを含む標準ルールデータを暗号化した暗号化標準ルールデータを格納する暗号化標準ルールデータ格納手段と、前記複数の検証事項の中の一部の検証事項に関して作成された部分ルールデータを格納する部分ルールデータ格納手段と、前記暗号化標準ルールデータ格納手段から、前記暗号化標準ルールデータを読み出し、当該暗号化標準ルールデータを復号して前記標準ルールデータを取得する復号化手段と、前記部分ルールデータ格納手段から前記部分ルールデータを読み出し、前記標準ルールデータにおける前記部分ルールデータの検証事項に対応する部分を、当該部分ルールデータの内容に書き換えることにより、書き換え済ルールデータを生成するルールデータ書き換え手段と、前記書き換え済ルールデータと、前記電文とを比較することにより仕様適合性検証を行う比較手段とを備えた仕様適合性検証装置であり、前記標準ルールデータにおける各ルールデータは、検証事項と、当該検証事項に対する設定情報とを有し、前記仕様適合性検証装置は、前記標準ルールデータの中の書き換え可能なルールデータに対応する検証事項を表示する表示手段と、前記書き換え可能なルールデータに対応する検証事項に対する設定情報の入力を受け、当該検証事項と入力された前記設定情報とを含む前記部分ルールデータを作成し、当該部分ルールデータを前記部分ルールデータ格納手段に格納する部分ルールデータ作成手段とを更に備えたことを特徴とする仕様適合性検証装置として構成される。
【００１２】
また、上記各手段をコンピュータに実現させるためのプログラムとして構成することもできる。
【発明の効果】
【００１３】
本発明によれば、暗号化標準ルールデータ格納手段に暗号化標準ルールデータを格納しておき、暗号化標準ルールデータ格納手段から暗号化標準ルールデータを読み出し、当該暗号化標準ルールデータを復号して標準ルールデータを取得し、部分ルールデータ格納手段から部分ルールデータを読み出し、標準ルールデータにおける部分ルールデータの検証事項に対応する部分を、当該部分ルールデータの内容に書き換えることにより、書き換え済ルールデータを生成し、書き換え済ルールデータと、メッセージとを比較することにより仕様適合性検証を行うこととしたので、標準ルールデータの流用を防止するとともに、ユーザが標準ルールデータの一部の内容を変更することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、本発明の実施の形態について説明する。
【００１５】
（検証環境例）
図１に、本発明の実施の形態における検証装置を用いた検証環境の一例を示す。図１に示すように、この検証環境は、検証装置１と、被検証装置２と、試験メッセージ送出装置３とを有し、これらが通信ネットワーク４で接続された構成を有している。
【００１６】
検証装置１は、ルールデータを格納しており、被検証装置２から通信ネットワーク４を介して受信するメッセージと当該ルールデータとを比較することにより、被検証装置２の動作が所定の通信プロトコル（SIP等）に関する仕様に適合しているかどうかを検証するための装置である。被検証装置２は、通信サービスに使用予定のサーバ等の装置であり、試験メッセージ送出装置３から送出された試験メッセージを受信し、通信サービスに用いられる通信プロトコルに基づく処理を施したメッセージを送出する機能を有する。なお、被検証装置２は、１台の装置でもよいし、通信ネットワークにより接続された複数台の装置としてもよい。
【００１７】
試験メッセージ送出装置３は、試験メッセージを送出する機能を有する装置である。例えば、試験メッセージ送出装置３は、通信サービスにおけるユーザ端末と同等のメッセージを送出したり、通信サービスにおけるネットワーク側のサーバと同等のメッセージを送出できる。また、試験メッセージ送出装置３は、複数台のユーザ端末が送出するメッセージと同等のメッセージを送出したり、複数のサーバを経由した後のメッセージを送出したりすることもできる。どの試験メッセージを送出するかの設定は、試験を行うユーザの操作により行うことができる。
【００１８】
上記の例では、検証装置１と試験メッセージ送出装置３を別々の装置としているが、検証装置１の中に試験メッセージ送出装置３の機能を備えることとしてもよい。また、検証装置１が被検証装置２から送出されるメッセージを受信することは必須ではない。例えば、被検証装置２から送出されるメッセージを受信し、ログとして格納するメッセージ格納装置を別に設け、検証装置１がメッセージ格納装置からログを取得し、そのログとルールデータとを比較することとしてもよい。
【００１９】
（検証装置の構成）
図２は、検証装置１の機能構成を示すブロック図である。図２に示すとおり、本実施の形態における検証装置１は、ユーザインタフェース部１１、ルール入力部１２、動作制御部１３、復号化部１４、ルール書き換え部１５、比較部１６、データ格納部１７、メッセージ取得部１８を有する。
【００２０】
ユーザインタフェース部１１は、ユーザによる操作に基づき検証装置１内にデータを入力したり、検証装置１から外部にデータを出力したり、データを表示したりするための機能部であり、例えば、キーボード、ディスプレイ、他の装置との通信インタフェース装置等を含む。
【００２１】
ルール入力部１２は、ユーザインタフェース部１１を介して、暗号化された標準ルールデータ（暗号化標準ルールデータと呼ぶ）を入力したり、暗号化されていない部分ルールデータを入力するための機能部である。入力された暗号化標準ルールデータや部分ルールデータはデータ格納部１７に格納される。
【００２２】
なお、検証装置１の提供者等により通信プロトコルの標準規格書等に基づき予め作成され、検証装置１のユーザに提供されるルールデータを標準ルールデータと呼んでいる。本実施形態では、標準ルールデータは暗号化されてユーザに提供され、これを暗号化標準ルールデータと呼ぶ。また、本実施の形態では、標準ルールデータの一部を、検証装置１のユーザにより作成された部分的なルールデータにより書き換えることができ、この部分的なルールデータを部分ルールデータと呼ぶことにする。
【００２３】
動作制御部１３は、ユーザからの指示（検証開始等の指示）に従って各機能部が動作するように各機能部に指示を送るための機能部である。
【００２４】
復号化部１４は、暗号化標準ルールデータをデータ格納部１７から読み出し、それを復号化するための機能部である。復号化するための復号鍵は、復号化部１４が秘密に保持しておく。つまり、復号化部１４が、コンピュータとしての検証装置１においてプログラムが実行されることにより実現される機能部である場合には、例えば、復号鍵を実行プログラムに組み込んでおく。また、復号鍵をデータ格納部１７の中に格納場所がユーザに分からないように格納しておくこととしてもよい。あるいは、復号化部１４自体を外部から内部へのアクセスが困難な耐タンパー性のあるハードウェアで実現し、その中に復号鍵を格納しておくこととしてもよい。また、暗号化標準ルールデータを復号するときに、復号鍵を通信ネットワークを介して外部に備えられた鍵管理装置から取得することとしてもよい。
【００２５】
ルール書き換え部１５は、復号化部１４から復号化された標準ルールデータを受信するとともに、動作制御部１３からの指示に基づき、部分ルールデータをデータ格納部１７から読み出し、当該部分ルールデータを、標準ルールデータの一部に上書きすることにより、標準ルールデータを書き換える。標準ルールデータを書き換えることによりできたルールデータを書き換え済ルールデータと呼ぶ。
【００２６】
比較部１６は、書き換え済ルールデータをルール書き換え部１５から受信し、当該書き換え済ルールデータと、データ格納部１７に格納されているメッセージとを比較することにより、当該メッセージが書き換え済ルールデータが示すルールに適合しているかどうかを調べ、比較結果を動作制御部１３を介して出力する機能部である。
【００２７】
メッセージ取得部１８は、通信ネットワークを介して被検証装置２と接続し、被検証装置から検証の対象となるメッセージを受信し、ログとしてデータ格納部１７に格納する機能部である。また、メッセージ取得部１８は、既にログを格納している他の装置から当該ログを受け取り、それをデータ格納部１７に格納することとしてもよい。
【００２８】
なお、検証装置１は、CPU、メモリ（RAM等）、ハードディスク等を有するコンピュータにおいてプログラムが実行されることにより実現され得る。また、データ格納部１７については例えばハードディスクにより実現される。当該プログラムは可搬メモリ等の記録媒体からコンピュータにインストールしてもよいし、ネットワークを介して外部サーバからダウンロードしてインストールしてもよい。
【００２９】
上記各機能部における処理は、プログラムとハードウェアとが協働して実現される機能的なものであるが、物理的には、上記各機能部の処理はメモリ上に標準ルールデータ及び部分ルールデータを展開して行うこととしている。復号化された標準ルールデータを、外部から読み取り可能な形式（例えばファイルの形式）でデータ格納部１７に格納することはしない。これにより、復号化された標準ルールデータを外部から読み取ることは困難になっている。
【００３０】
データ格納部１７は、暗号化標準ルールデータ、部分ルールデータ、検証の対象となるメッセージのログを格納する機能部である。データ格納部１７は、暗号化標準ルールデータ格納手段と、部分ルールデータ格納手段と、ログ格納手段とに分かれていてもよい。
【００３１】
データ格納部１７に格納される暗号化標準ルールデータの暗号化される前の構造の一例を図３に示す。図３に示すように、標準ルールデータは、各検証項目を識別するためのデータ（"検証項目Ａ"等）と、当該検証項目に対応する１又は複数のルールデータを含むものである。
【００３２】
なお、検証項目を識別するデータに送信元装置種別と受信元装置種別を含ませ、当該送信元装置種別と受信元装置種別に該当するメッセージに対し、当該検証項目のルールデータを適用することとしてもよい。
【００３３】
検証項目としては、例えば、メッセージに付される同じ種類のヘッダの個数（ヘッダの繰り返し回数ともいう）、ヘッダの構文、メッセージのバイトサイズ等がある。ルールデータの一例を図４に示す。図４に示す例は、ＳＩＰプロトコルで用いられるメッセージのヘッダの繰り返し回数が、予め定めた最大値以下であるかどうかをチェックするためのルールデータである。
【００３４】
このルールデータにおいて"Type"はヘッダの種別を示し、"Value"は当該種別のヘッダに対して許容される最大の繰り返し回数を示す。"Type"の１つの"Record-Route"のように、メッセージに元々備わっている情報をキー情報とよび、"Value"のように可変である情報を設定情報と呼ぶことにする。また、キー情報は検証事項とも呼ぶ。このように１つのルールデータは、検証事項と設定情報を有する。
【００３５】
図４の例において、例えば、"Via"ヘッダは１つのメッセージに１０個まで存在してよいことを示している。そして、例えば、被検証装置２から受信したメッセージに、"Via"ヘッダが１１個付加されていたら、この点に関して被検証装置２は予め定めた仕様に適合していないと判断できる。
【００３６】
（検証装置の動作例）
次に、図５のフローチャートに示す手順に沿って、本実施の形態における検証装置１の動作を説明する。本動作例において、標準化ルールデータは検証項目Ａのルールデータと検証項目Ｂのルールデータを含むものとする。また、検証項目Ａのルールデータは、図４に示すものとする。
【００３７】
また、標準ルールデータは、検証装置１が保持又は取得する復号鍵でのみ復号できるように予め暗号化され、暗号化標準ルールデータとしてデータ格納部１７に格納されているものとする。
【００３８】
まず、メッセージ取得部１８が、被検証装置２から検証の対象となる１つ又は複数のメッセージを取得し、それをログとしてデータ格納部１７に格納する（ステップ１）。
【００３９】
検証装置１のユーザは、検証項目Ａ及び検証項目Ｂにおける検証項目の内容及びキー情報（検証事項）については、例えば暗号化標準ルールデータの提供者から開示される情報に基づき知っているものとする。つまり、当該ユーザは、検証項目Ａの検証事項として、"Record-Route"、"Route"、及び"Via"があることを知っている。それぞれの設定情報は開示されないため知ることはできないが、ユーザは暗号化標準ルールデータに設定されている設定情報は、通信サービスネットワークを構築する場合における標準的な値であることを認識しているものとする。
【００４０】
ここで、ユーザは、"Record-Route"、"Route"については暗号化標準ルールデータの提供者が設定した繰り返し回数で構わないと考えているが、"Via"についてはユーザ独自の設定情報を設定したいと考えるものとする。
【００４１】
この場合、ステップ２において、ユーザは例えば図６に示す"Via"についてのルールデータ（部分ルールデータと呼ぶ）を作成し、ユーザインタフェース部１１を用いて検証項目識別情報とともに検証装置１に入力する。検証項目識別情報と部分ルールデータはルール入力部１２によりデータ格納部１７に格納される。
【００４２】
ステップ２において、ユーザは図６に示す形式の部分ルールデータを別のコンピュータのエディタを用いて作成し、記録媒体等を介して入力してもよいし、ルール入力部１２が、全てのルールデータ又は変更可能なルールデータにおけるキー情報のみをユーザインタフェース部１１に表示し（例えば図７に示す画面）、ユーザが設定情報を変更したいキー情報を選択することにより、そのキー情報に対応した設定情報を入力するための画面を表示し、ユーザがその画面を見ながら設定情報（例えば、"Via"に対する"７"）を入力することとしてもよい。なお、変更可能なルールデータは、標準ルールデータ作成者側で予め決めておくものである。
【００４３】
その後、ユーザから検証を開始する旨の指示がユーザインタフェース部１１を介して動作制御部１３に入力される。当該指示を受けた動作制御部１３は、各機能部に動作開始を指示する。なお、本実施の形態では、暗号化標準ルールデータの全ての検証項目について検証処理を行うこととしているが、特定の検証項目をユーザが選択できるようにし、選択された検証項目の識別情報を各機能部に伝え、各機能部は指示された検証項目に対応するルールデータのみを用いて検証処理を行うようにしてもよい。
【００４４】
復号化部１４は、暗号化標準ルールデータをデータ格納部１７から取得し、復号する（図５のステップ３）。復号され、メモリ上に展開された（つまり、メモリに格納された）標準ルールデータの構造及び内容の例を図８に示す。図８には、図４に示したルールデータが含まれる。図８に示すように、メモリ上に展開された標準ルールデータは、検証項目の情報と、その検証項目に対応する各キー情報と、それに対する設定情報とが対応付けられたテーブル形式の構造を有している。
【００４５】
続いて、ルール書き換え部１５は、ステップ２においてユーザにより入力された部分ルールデータをデータ格納部１７から読み出し、メモリに展開する（図５のステップ４）。メモリに展開された部分ルールデータの構造及び内容例を図９に示す。図９に示すように、部分ルールデータは図８に示す標準ルールデータと同様の構造を有する。
【００４６】
そして、ルール書き換え部１５は、読み込んだ部分ルールデータに対応する検証項目及びキー情報と同じ検証項目及びキー情報に対応する、標準ルールデータにおける設定情報を、部分ルールデータの設定情報に書き換える（ステップ５）。つまり、図８と図９の例であれば、標準ルールデータにおける検証項目Ａのキー情報"Via"の設定情報"１０"が、部分ルールデータにおける検証項目Ａのキー情報"Via"の設定情報"７"に書き換えられる。書き換えられた後のルールデータ（書き換え済ルールデータ）を図１０に示す。
【００４７】
続いて、比較部１６は、データ格納部１７に格納されたログの中から１つのメッセージを読み出し、書き換え済ルールデータと比較することにより、仕様に適合しているかどうかの判定を行う。この処理をログに含まれる全てのメッセージに対して行う（ステップ６）。そして、比較部１６は、検証結果を動作制御部１３を介してユーザインタフェース部１１に出力する（ステップ７）。検証結果は、例えばOKを示す情報、あるいはNGを示す情報等である。
【００４８】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。    
【図面の簡単な説明】
【００４９】
【図１】本発明の実施の形態における検証装置を用いた検証環境の一例を示す図である。
【図２】検証装置１の機能構成を示すブロック図である。
【図３】標準ルールデータの構造例を示す図である。
【図４】ルールデータの一例を示す図である。
【図５】検証装置１の動作手順を示すフローチャートである。
【図６】部分ルールデータの一例を示す図である。
【図７】部分ルールデータを作成するための画面の例を示す図である。
【図８】メモリ上に展開された標準ルールデータの例を示す図である。
【図９】メモリ上に展開された部分ルールデータの例を示す図である。
【図１０】書き換え済ルールデータの例を示す図である。
【符号の説明】
【００５０】
１  検証装置
２  被検証装置
３  試験メッセージ送出装置
４  通信ネットワーク
１１  ユーザインタフェース部
１２  ルール入力部
１３  動作制御部
１４  復号化部
１５  ルール書き換え部
１６  比較部
１７  データ格納部
１８  メッセージ取得部
【図１】
0005171300.tif 000002
【図２】
0005171300.tif 000003
【図３】
0005171300.tif 000004
【図４】
0005171300.tif 000005
【図５】
0005171300.tif 000006
【図６】
0005171300.tif 000007
【図７】
0005171300.tif 000008
【図８】
0005171300.tif 000009
【図９】
0005171300.tif 000010
【図１０】
0005171300.tif 000011