(57)【特許請求の範囲】
【請求項１】
通信網を介してデータの送受信を行う電子機器の動作設定方法において、
通信線を介して前記電子機器に接続された操作端末に前記電子機器の動作を規定する複数の設定項目のうちの予め定められた一部の項目の更新を促すユーザインタフェース画面を表示させるデータであって、当該ユーザインタフェース画面に対する操作に応じて該当項目の更新を指示するコマンドを生成して前記電子機器へ送信する処理を前記操作端末に実行させるスクリプトが埋め込まれたフォームデータと当該スクリプトにしたがって呼び出される関数の処理手順の記述されたライブラリファイルとを前記電子機器に記憶させておき、
前記操作端末から送信されてくるアクセス要求に応じて前記フォームデータと前記ライブラリファイルとを返信し、前記スクリプトにしたがって前記操作端末から送信されてくるコマンドの解釈および実行を前記電子機器に実行させ、
前記スクリプトは、予めセットされた識別番号を呼び出し元へ引き渡す識別番号取得関数を呼び出し、前記ユーザインタフェース画面に対する操作に応じて生成したコマンドを当該識別番号とともに返信する処理を前記操作端末に実行させるものであり、
前記電子機器には、前記アクセス要求の受信を契機として前記識別番号を生成して前記識別番号取得関数にセットし、前記フォームデータと当該識別番号のセット済みの前記ライブラリファイルとを返信するとともに当該識別番号と前記アクセス要求の送信元を示す識別子とを対応付けて記憶する処理と、操作端末からコマンドとともに送信されてくる識別番号と当該コマンドの送信元を示す識別子の組み合わせが自器に記憶されているものである場合にのみ当該コマンドの解釈および実行を行う処理と、を実行させる
ことを特徴とする電子機器の動作設定方法。
【請求項２】
通信網を介してデータの送受信を行う電子機器において、
当該電子機器の動作内容を規定する複数の設定項目からなる動作設定ファイルと、前記複数の設定項目のうちの予め定められた一部の項目の更新を促すユーザインタフェース画面を通信線を介して当該電子機器に接続される操作端末に表示させるデータであって、当該ユーザインタフェース画面に対する操作に応じて該当項目の更新を指示するコマンドを生成して送信する処理を前記操作端末に実行させるスクリプトが埋め込まれたフォームデータと前記スクリプトにしたがって呼び出される関数の処理手順の記述されたライブラリファイルとを記憶した記憶手段と、
前記操作端末から送信されてくるアクセス要求に応じて前記フォームデータと前記ライブラリファイルとを返信し、前記スクリプトにしたがって前記操作端末から送信されてくるコマンドの解釈および実行を行って前記動作設定ファイルを更新する動作設定支援手段と、を備え、
前記スクリプトは、予めセットされた識別番号を呼び出し元へ引き渡す識別番号取得関数を呼び出し、前記ユーザインタフェース画面に対する操作に応じて生成したコマンドを当該識別番号とともに返信する処理を前記操作端末に実行させるものであり、
前記動作設定支援手段は、
前記アクセス要求の受信を契機として前記識別番号を生成して前記識別番号取得関数にセットし、前記フォームデータと当該識別番号のセット済みの前記ライブラリファイルとを返信するとともに当該識別番号と前記アクセス要求の送信元を示す識別子とを対応付けて記憶し、操作端末からコマンドとともに送信されてくる識別番号と当該コマンドの送信元を示す識別子の組み合わせが自器に記憶されているものである場合にのみ当該コマンドの解釈および実行を行う
ことを特徴とする電子機器。
【請求項３】
前記動作設定ファイルの更新は複数のエンドユーザに対して許可されているとともに、エンドユーザ毎に更新可能な設定項目の範囲が予め定められており、
前記記憶手段には、
前記複数のユーザの各々を一意に識別するユーザ識別子と対応付けて当該ユーザに対して許可されている範囲で設定項目の更新を促すフォームデータが格納されており、
前記動作設定手段は、
アクセス要求の送信元に対してユーザ識別子の送信を促し、操作端末から送信されてくるユーザ識別子が前記フォームデータに対応付けて前記記憶手段に記憶されているユーザ識別子の何れかと一致する場合にのみ、当該ユーザ識別子に対応づけて前記記憶手段に記憶されているフォームデータを前記アクセス要求の送信元へ返信することを特徴とする請求項２に記載の電子機器。
【請求項４】
前記識別番号は、当該電子機器の属するグループを示すグループ番号と前記アクセス要求を受信する毎に更新される一連番号とから構成されており、
前記スクリプトは、前記ユーザインタフェース画面に対する操作に応じて生成したコマンドと前記識別番号取得関数により取得した識別番号とを接続先の通信網へブロードキャストする処理を前記操作端末に実行させるものであり、
前記動作設定手段は、
操作端末からコマンドとともに送信されてくる識別番号に含まれるグループ番号が自器の属するグループのグループ番号と一致する場合には当該コマンドの解釈および実行を行う
ことを特徴とする請求項２または３に記載の電子機器。
【請求項５】
前記通信網を介して受信したデータをその宛先へと転送する中継処理を前記動作設定ファイルの内容にしたがって実行するルータであることを特徴とする請求項２から４の何れか１項に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信網を介してデータの送受信を行う電子機器の動作設定を支援する技術に関する。
【背景技術】
【０００２】
この種の電子機器の一例としては、ルータなどの通信制御装置やＷｅｂカメラが挙げられる。Ｗｅｂカメラとは、ライブカメラ或いはネットワークカメラとも呼ばれ、その設置場所の風景を撮像して得られる画像データをインターネットなどの広域網を介して配信し続ける電子機器である。一方、ルータ等により代表される通信制御装置は、互いに異なる通信網（例えば、ＬＡＮ（Local Area Network）と広域網）に接続され、一方から受信したデータの他方への転送制御処理を行う電子機器である。
【０００３】
これらの電子機器に本来の機能を発揮させるようにするには、動作設定を適切に行っておく必要がある。動作設定とは、予め定められた設定項目毎に電子機器の動作を規定するパラメータを記憶させることである。例えば、Ｗｅｂカメラであれば、画像データの送信先として、所定の通信装置の通信アドレス（例えば、ＩＰアドレス）を設定しておく必要がある。一方、通信制御装置であれば、転送制御処理の対象となる通信プロトコルの種別や、デフォルトゲートウェイ装置の通信アドレス等を設定しておく必要がある。従来、この種の動作設定はＣＵＩ（Character User Interface）ベースのコマンド入力で行われることが一般的であり、情報システムの設計・構築等を専門に行う企業（所謂システムインテグレータ：以下、「ＳＩｅｒ」と呼ぶ）の専門技術者によって電子機器の設置の際に行われることが多かった。電子機器の動作設定における設定項目は多岐に亘り、また、動作設定を適切に行うには各種コマンドを熟知している必要があるため、エンドユーザ（例えば、ネットワーク管理者等）が動作設定を適切に行うことは難しいからである。
【０００４】
これに対して、電子機器の日常的な運用管理（例えば、電源のオン／オフや稼動状況のチェック等）は動作設定に比較して容易であるため、エンドユーザにより行われることが一般的である。ここで問題となるのは、このような運用管理に付随して動作設定に変更を加えること（例えば、パラメータをセットする項目の追加や設定内容の変更等）が必要となる場合があることである。このような場合には、ネットワーク管理者等のエンドユーザが適宜動作設定の変更を行えることが望ましいのであるが、多岐に亘る設定項目のなかから追加や変更を要するものを探し出すことは難しく、仮に追加等するべき項目を探し出すことができたとしても、その追加等を行うためのコマンドを使いこなすことが出来ないことも多い。このため、運用管理に付随して動作設定を変更するような場合であっても、ＳＩｅｒ等からの専門技術者の派遣を待たなければならず、エンドユーザとＳＩｅｒの両者にとって甚だ不便であった。
【０００５】
そこで、電子機器の動作設定を簡便に行えるようにする技術が従来より種々提案されており、その一例としては特許文献１および非特許文献１に開示された技術が挙げられる。特許文献１に開示された技術は、通信制御装置の機種等を示す属性情報に対応付けてその通信制御装置に関する設定情報が書き込まれたデータベースを有するサーバ装置をインターネットなどの広域網に接続しておき、動作設定の対象となる通信制御装置についての設定情報を上記サーバ装置からダウンロードすることでその動作設定を行うものである。一方、非特許文献１に開示された技術は、所謂ＷｅｂコンソールによりＧＵＩ（Graphical User Interface）を介して動作設定を行わせる技術（すなわち、コマンド入力ではなく、ラジオボタンやプルダウンメニューに対する操作で動作設定を行わせる技術）である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２２９８５３号公報
【非特許文献】
【０００７】
【非特許文献１】”ＷＷＷブラウザ設定支援機能  機能説明書”、[online]、ヤマハ株式会社、[平成２１年８月２６日検索]、インターネット<URL:http://www.rtpro.yamaha.co.jp/RT/docs/web_assistance/index.html>
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１に開示された技術によればエンドユーザ側の不便さは緩和されるものの、ＳＩｅｒは上記サーバ装置の運用管理を行わねばならず、不便さが解消されるどころか、新たな負担を強いられることとなる。一方、非特許文献１に開示された技術では、動作設定のためのコマンドを熟知していなくても電子機器の動作設定を行うことが可能になるものの、設定項目が多岐に亘ることには変わりなく、エンドユーザがＳＩｅｒの力を借りずに動作設定を行うことは困難である。
本発明は、上記課題に鑑みて為されたものであり、通信網を介してデータの送受信を行う電子機器の販売等を行うＳＩｅｒに過大な負担がかかることを回避しつつ、エンドユーザがその電子機器の動作設定を簡便に行えるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明は、通信網を介してデータの送受信を行う電子機器の動作設定方法において、通信線を介して前記電子機器に接続された操作端末に前記電子機器の動作を規定する複数の設定項目のうちの予め定められた一部の項目の更新を促すユーザインタフェース画面を表示させるデータであって、当該ユーザインタフェース画面に対する操作に応じて該当項目の更新を指示するコマンドを生成して前記電子機器へ送信する処理を前記操作端末に実行させるスクリプトが埋め込まれたフォームデータ、を前記電子機器に記憶させ、前記操作端末から送信されてくるアクセス要求に応じて前記フォームデータを返信し、前記スクリプトにしたがって前記操作端末から送信されてくるコマンドの解釈および実行を前記電子機器に実行させることを特徴とする電子機器の動作設定方法、を提供する。
【００１０】
このような動作設定方法によれば、以下のようにしてエンドユーザによる動作設定が実現される。まず、電子機器の販売等を行うＳＩｅｒは、複数の設定項目のうちの予め定められた一部（例えば、運用管理に付随して設定内容の変更が為される頻度が高いと推測される設定項目）の更新を促すフォームデータを作成し、そのフォームデータを記憶させた状態で電子機器を販売する。そして、エンドユーザが当該電子機器の動作設定を所望する場合は、通信線を用いて自身の使用する操作端末を当該電子機器に接続し、この電子機器へ宛ててアクセス要求を送信するように当該操作端末を操作する。すると、上記フォームデータが電子機器から操作端末へと送信され、このフォームデータにしたがって操作端末に表示されるユーザインタフェース画面に対する操作によって動作設定を行うことができる。このため、電子機器の運用管理に付随してその動作設定を変更するような場合には、ＳＩｅｒからの専門技術者の派遣を待つことなく、エンドユーザが自分で動作設定を変更することができ、エンドユーザとＳＩｅｒの両者が感じていた不便さが解消される。なお、上記ユーザインタフェース画面はＧＵＩベースのものであっても良く、また、ＣＵＩベースのものであっても良い。コマンド入力に不慣れな者にはＧＵＩが好ましく、逆に、ある程度コマンド入力に慣れている者にとってはＣＵＩのほうが使い勝ってが良いため、エンドユーザの技量に応じて適宜選択するようにすれば良い。上記フォームデータとしてはＨＴＭＬ（Hyper Text Markup
Language）データを用いれば良く、また、上記スクリプトの記述にはＪａｖａ（登録商標）スクリプト等を用いるようにすれば良い。このようなＨＴＭＬデータの作成であれば、ＳＩｅｒにかかる負荷はさほど高くはないからである。また、予め各種の関数からなるライブラリファイルを用意しておけば、フォームデータの作成に要する手間を削減し、ＳＩｅｒにかかる負荷をさらに軽減することができる。
【００１１】
また、上記課題を解決するために本発明は、通信網を介してデータの送受信を行う電子機器において、当該電子機器の動作内容を規定する複数の設定項目からなる動作設定ファイルと、前記複数の設定項目のうちの予め定められた一部の項目の更新を促すユーザインタフェース画面を通信線を介して当該電子機器に接続される操作端末に表示させるデータであって、当該ユーザインタフェース画面に対する操作に応じて該当項目の更新を指示するコマンドを生成して送信する処理を前記操作端末に実行させるスクリプトが埋め込まれたフォームデータと、を記憶した記憶手段と、前記操作端末から送信されてくるアクセス要求に応じて前記フォームデータを返信し、前記スクリプトにしたがって前記操作端末から送信されてくるコマンドの解釈および実行を行って前記動作設定ファイルを更新する動作設定支援手段とを有することを特徴とする電子機器、およびコンピュータを上記動作設定支援手段として機能させるプログラムを提供する。
【００１２】
ここで、本発明の適用対象となる電子機器の具体例としては、ルータなどの通信制御装置やＷｅｂカメラが挙げられる。例えば、本発明を適用した通信制御装置の構成例としては、第１の通信網に接続される第１通信インタフェース部と、前記第１の通信網とは異なる第２の通信網に接続される第２通信インタフェース部と、前記第１通信インタフェース部と前記第２通信インタフェース部の何れか一方により受信したデータを他方へ転送する転送制御処理における本通信制御装置の動作を規定する複数の設定項目からなる動作設定ファイルと、前記複数の設定項目のうちの予め定められた一部の項目の更新を促すユーザインタフェース画面を通信線を介して当該通信制御装置に接続された操作端末に表示させるデータであって、当該ユーザインタフェース画面に対する操作に応じて該当項目の更新を指示するコマンドを生成して送信する処理を前記操作端末に実行させるスクリプトが埋め込まれたフォームデータと、を記憶した記憶手段と、前記転送制御処理を前記動作設定ファイルの内容にしたがって実行する通信制御手段と、前記操作端末から送信されてくるアクセス要求に応じて前記フォームデータを返信し、前記スクリプトにしたがって前記操作端末から送信されてくるコマンドの解釈および実行を行って前記動作設定ファイルを更新する動作設定支援手段とを有する構成のものが考えられる。また、本発明の別の態様においては、コンピュータを上記通信制御手段および動作設定支援手段として動作させるプログラムを提供しても良い。
【００１３】
より好ましい態様においては、上記電子機器の動作設定ファイルの更新は複数のエンドユーザに対して許可されているとともに、エンドユーザ毎に更新可能な設定項目の範囲が予め定められており、前記記憶手段には、前記複数のユーザの各々を一意に識別するユーザ識別子と対応付けて、当該ユーザに対して許可されている範囲で設定項目の更新を促すフォームデータが格納されており、前記動作設定手段は、アクセス要求の送信元に対してユーザ識別子の送信を促し、前記操作端末から送信されてくるユーザ識別子が前記フォームデータに対応付けて前記記憶手段に記憶されているユーザ識別子の何れかと一致する場合にのみ、当該ユーザ識別子に対応づけて前記記憶手段に記憶されているフォームデータを前記アクセス要求の送信元へ返信することを特徴とする。このような態様によれば、動作設定ファイルの更新（すなわち、動作設定の実行）を許可されている複数のエンドユーザの各々に対して役職や権限、或いは運用経験に応じて更新を許可する範囲を定めておくとともにその範囲内での更新を促すフォームデータを各エンドユーザのユーザ識別子に対応付けて記憶手段に書き込んでおくことで、各エンドユーザの経験等に応じた範囲内で動作設定を行わせることが可能になる。
【００１４】
また、別の好ましい態様においては、上記電子機器の動作設定支援手段は、前記アクセス要求を契機として生成した識別番号を付与して前記フォームデータを返信するとともに当該識別番号と前記アクセス要求の送信元を示す識別子とを対応付けて前記記憶手段に書き込み、操作端末から送信されてくるコマンドに付与されている識別番号と当該コマンドの送信元を示す識別子の組み合わせが前記記憶手段に記憶されているものである場合にのみ当該コマンドの解釈および実行を行うことを特徴とする。このような態様によれば、当該電子機器から取得したフォームデータの使いまわしによる不正な動作設定（例えば、ＣＳＲＦ（Cross Site Request Forgeries）攻撃による不正な動作設定）を防止することができる。なお、ＣＳＲＦ攻撃については発明の詳細な説明において簡単に説明する。
【図面の簡単な説明】
【００１５】
【図１】本発明に係る電子機器の一実施形態である通信制御装置１０を含む通信システム１の構成例を示すブロック図である。
【図２】同通信制御装置１０に対する操作端末２０の接続例を示す図である。
【図３】同通信制御装置１０の構成例を示すブロック図である。
【図４】同通信制御装置１０が実行する処理および通信制御装置１０と操作端末２０との間の通信シーケンスの一例を示す図である。
【図５】同通信制御装置１０に対するＣＳＲＦ攻撃の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しつつ本発明の一実施形態について説明する。
（Ａ：構成）
図１は、本発明に係る電子機器の一実施形態である通信制御装置１０を含む通信システム１の構成例を示すブロック図である。通信システム１は、例えば企業の各拠点（本社や各支店）に敷設されているＬＡＮ（以下、拠点内ＬＡＮ：図１では、１つだけ例示）の集合体であり、この企業からの委託を受けたＳＩｅｒによって構築されたものである。図１に示すように、通信システム１を構成する拠点内ＬＡＮは通信制御装置１０によってインターネット等の広域網に接続されている。
【００１７】
通信制御装置１０は、例えばルータであり、拠点内ＬＡＮに接続されているパーソナルコンピュータ（以下、ＰＣ）と、広域網に接続されている他の通信装置（例えば、ＷＷＷサーバ装置）或いは他の拠点内ＬＡＮに接続されているＰＣとの間で所定の通信プロトコル（例えば、ＴＣＰ／ＩＰ（Transport Control Protocol/Internet Protocol））に従って送受信されるデータの転送制御処理を実行する。前述したように、このような転送制御処理を通信制御装置１０に実行させるには、拠点内ＬＡＮのネットワークアドレスや通信制御装置１０の通信アドレスの割り当て等の動作設定を予め行っておく必要がある。本実施形態では、通信制御装置１０の動作設定はその設置の際に上記ＳＩｅｒの専門技術者によってコマンド入力で行われている。例えば、図１の通信制御装置１０には、通信アドレスとして「１９２．１６８．１００．１」が割り当てられており、拠点内ＬＡＮにはネットワークアドレスとして「１９２．１６８．１００．０」が割り当てられている、といった具合である。
【００１８】
通信制御装置１０の運用管理は、拠点内ＬＡＮのネットワーク管理者（例えば、拠点内ＬＡＮが敷設されている拠点に勤務する従業員、すなわち、エンドユーザ）によって行われる。このような運用管理に付随して通信制御装置１０の動作設定を変更する必要が生じ得ることは前述した通りである。以下、通信制御装置１０の設置の際にＳＩｅｒによって行われる動作設定のことを「初期動作設定」と呼び、通信制御装置１０の運用管理に付随して行われる動作設定と区別する。
【００１９】
本実施形態の通信制御装置１０は、動作設定のための各種コマンドを熟知していないエンドユーザがその動作設定を行えるように構成されている点に第１の特徴がある。このため、本実施形態では、通信制御装置１０の運用管理に付随してその動作設定を変更する場合には、ＳＩｅｒからの専門技術者の派遣を待つことなくネットワーク管理者が自分でその変更作業を行うことができる。詳細については後述するが、通信制御装置１０の動作設定を行おうとするネットワーク管理者は、自身の使用する操作端末（例えばＰＣ）２０を通信制御装置１０に接続し、ＧＵＩベースのユーザインタフェース画面を介してその動作設定を行うことができるのである。ここで、通信制御装置１０への操作端末２０の接続態様は、拠点内ＬＡＮを介する態様（すなわち、通信制御装置１０に接続されている拠点内ＬＡＮに操作端末２０を接続する態様）であっても良く、また、図２に示すように、ＬＡＮケーブルなどの通信線を介して通信制御装置１０と操作端末２０とを直結する態様であっても良い。
【００２０】
また、本実施形態では、ネットワーク管理者として役職や権限、通信制御装置１０の運用経験等が異なる複数の者が予め定められており、変更が許可されている設定項目の範囲もネットワーク管理者毎に予め定められている。例えば、運用経験が豊かな者ほど多数の項目を設定できるように定められている。そして、本実施形態の通信制御装置１０は、複数のネットワーク管理者の各々に対して、予め定められた範囲（ネットワーク管理者毎に異なる範囲）内でのみ設定項目の更新（すなわち、動作設定）を行わせることができるように、ネットワーク管理者毎に異なるＧＵＩを提供するように構成されている点に第２の特徴がある。
以下、通信制御装置１０を中心に説明する。
【００２１】
図３は、通信制御装置１０の構成例を示すブロック図である。
図３に示すように通信制御装置１０は、制御部１００、第１通信インタフェース（以下、「Ｉ／Ｆ」）部１１０、第２通信Ｉ／Ｆ部１２０、外部機器Ｉ／Ｆ部１３０、記憶部１４０、および、これら構成要素間のデータ授受を仲介するバス１５０を含んでいる。
【００２２】
制御部１００は、ＣＰＵ（Central Processing Unit）であり、記憶部１４０に格納されている各種プログラムを実行することにより、通信制御装置１０の制御中枢として機能する。図３に示すように、記憶部１４０（より正確には、記憶部１４０に含まれる不揮発性記憶部１４４）には、通信制御プログラム１４４ａと動作設定支援プログラム１４４ｂとが記憶されている。これらプログラムにしたがって制御部１００が実行する処理については後に詳細に説明する。
【００２３】
第１通信Ｉ／Ｆ部１１０は、ＮＩＣ（Network Interface Card）であり、図１の拠点内ＬＡＮに接続されている。第１通信Ｉ／Ｆ部１１０は、拠点内ＬＡＮから送信されてくるパケットを受信して制御部１００へ引渡す一方、制御部１００から引渡されるパケットを拠点内ＬＡＮへと送出する。また、図２に示すように操作端末２０を通信制御装置１０に直結する際には、操作端末２０は通信線を介して第１通信Ｉ／Ｆ部１１０に接続される。第２通信Ｉ／Ｆ部１２０も第１通信Ｉ／Ｆ部１１０と同様にＮＩＣであり、広域網に接続されている。この第２通信Ｉ／Ｆ部１２０は、広域網から送信されてくるパケットを受信して制御部１００へ引渡す一方、制御部１００から受け取ったパケットを広域網へと送出する。
【００２４】
外部機器Ｉ／Ｆ部１３０には、他の電子機器との間でシリアル通信を行うシリアルインタフェース（例えば、ＵＳＢ（Universal Serial Bus）インタフェースやＲＳ−２３２Ｃインタフェース）やＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）などのコンピュータ読み取り可能な記録媒体からのデータ読み出し（或いはデータ書き込み）を行うドライバが含まれる。この外部機器Ｉ／Ｆ部１３０は、その接続先である他の電子機器から受け取ったデータ（或いは記録媒体から読み出したデータ）を制御部１００へ与える一方、制御部１００から与えられるデータをその接続先の電子機器へ送出する処理（或いは、記録媒体へ書き込む処理）を実行する。例えば、初期動作設定にて各種コマンドを入力するためのシリアルコンソールは、外部機器Ｉ／Ｆ部１３０に接続され、シリアルコンソールに対する操作により入力されるコマンドは外部機器Ｉ／Ｆ部１３０を経て制御部１００に与えられる。
【００２５】
記憶部１４０は、図３に示すように揮発性記憶部１４２と不揮発性記憶部１４４を含んでいる。揮発性記憶部１４２は、例えばＲＡＭ（Random Access Memory）であり、各種プログラムを実行する際のワークエリアとして制御部１００によって利用される。一方、不揮発性記憶部１４４は、ハードディスクやフラッシュメモリである。図３に示すように不揮発性記憶部１４４には、通信制御プログラム１４４ａおよび動作設定支援プログラム１４４ｂの他に、設定ファイル１４４ｃおよび動作設定支援用ファイル群１４４ｄが格納されている。
【００２６】
設定ファイル１４４ｃは、転送制御処理における通信制御装置１０の動作を規定する設定項目毎にその設定値を表わすパラメータが書き込まれたテキストファイルである。例えば拠点内ＬＡＮのネットワークアドレスや通信制御装置１０の通信アドレスは、各々を示す識別子と対応付けて設定ファイル１４４ｃに書き込まれている。通信制御プログラム１４４ａは、設定ファイル１４４ｃの内容にしたがって転送制御処理を制御部１００に実行させるプログラムである。本実施形態にて通信制御装置１０の動作設定を変更するとは、設定ファイル１４４ｃの書き換え（新たな設定項目とその設定値の追加や、既存の設定項目の設定値の書き換え）を行うことである。
【００２７】
動作設定支援用ファイル群１４４ｄは、本実施形態の特徴を顕著に示す方法で通信制御装置１０の動作設定を行わせるデータファイルの集合体である。より詳細に説明すると、動作設定支援用ファイル群１４４ｄには、ユーザ認証用ファイル、フォームデータ、およびライブラリファイルが含まれている。これら動作設定支援用ファイル群１４４ｄを構成するデータファイルのうち、ユーザ認証用ファイルとフォームデータはエンドユーザによる動作設定を可能にするためにＳＩｅｒによって作成され、通信制御装置１０の設置の際に不揮発性記憶部１４４への書き込みが行われたものである。一方、ライブラリファイルは、このようなＳＩｅｒの作業を容易にするために通信制御装置１０の製造元によって作成されたものであり、通信制御装置１０の工場出荷時点で不揮発性記憶部１４４への書き込みが行われたものである。以下、これら各ファイルについて説明する。
【００２８】
ユーザ認証用ファイルは、通信制御装置１０へのアクセス元が当該通信制御装置１０の動作設定を行うことを許可されているエンドユーザ（すなわち、ネットワーク管理者）であるか否かを判定するユーザ認証にて使用されるデータファイルである。このユーザ認証用ファイルには、各ネットワーク管理者を一意に識別するユーザ識別子（本実施形態では、ユーザ名を表わす文字列）が書き込まれている。
【００２９】
フォームデータは、通信制御装置１０の動作設定を促すＧＵＩ画面を規定するデータファイルであって、ブラウザによる解釈および実行が可能なマークアップ言語（本実施形態では、ＨＴＭＬ）で記述されたテキストファイルである。通信制御装置１０の動作設定を行うとするネットワーク管理者は、自身の使用する操作端末２０でブラウザを実行して上記フォームデータを取得し、その解釈および実行をブラウザに実行させることで上記ＧＵＩ画面の提供を受けるのである。
【００３０】
前述したように、本実施形態では、複数のネットワーク管理者の各々に対して、予め定められた範囲内で動作設定を行えるようにネットワーク管理者毎に異なるＧＵＩを提供する。このため、本実施形態では、ネットワーク管理者毎に異なるフォームデータが予め作成されており、それら複数のフォームデータはネットワーク管理者毎に分類されて不揮発性記憶部１４４に格納されている。例えば、複数のネットワーク管理者の各々のユーザ名が、“user1”、“user2”・・・である場合には、不揮発性記憶部１４４内には
“/enduser/user1/”、” /enduser/user2/”・・・といった具合に各ユーザ名に対応するディレクトリ（フォルダとも言う）が設けられており、ユーザ名が“user1”であるネットワーク管理者に提供するべきＧＵＩを表わすフォームデータはディレクトリ“/enduser/user1/”に、ユーザ名が“user2”であるネットワーク管理者に提供するべきＧＵＩを表わすフォームデータはディレクトリ“/enduser/user2/”に予め格納されている。
【００３１】
このようにネットワーク管理者毎のディレクトリに分類してフォームデータを格納したのは、所謂ＨＴＴＰリダイレクションを利用してこれらフォームデータの送信制御（すなわち、各ネットワーク管理者に対してそのネットワーク管理者用のフォームデータが送信されるようにすること）を実現するためである。より詳細に説明すると、本実施形態の通信制御装置１０は、操作端末２０から送信されてくるアクセス要求（例えば、トップメニューを表わすＨＴＭＬデータの送信を要求する旨の通信メッセージ）を受信したことを契機としてその送信元のユーザ認証を行い、その送信元が上記複数のネットワーク管理者の何れかである場合には、該当者のディレクトリに格納されているフォームデータを上記トップメニューのＨＴＭＬデータに代えて送信するのである。このように、本実施形態では、フォームデータの送信制御をＨＴＴＰリダイレクションを利用して実現したが、各ネットワーク管理者のユーザ識別子とフォームデータとの対応を示すリストとともに各フォームデータを１つのディレクトリに格納しておき、当該リストにしたがってフォームデータの送信制御を実現しても勿論良い。要は、複数のネットワーク管理者の各々を一意に識別するユーザ識別子と対応付けて当該ネットワーク管理者に対して許可されている範囲で設定項目の更新を促すフォームデータが不揮発性記憶部１４４に格納されている態様であれば良い。
【００３２】
上記各フォームデータには、ブラウザによる解釈および実行が可能なスクリプト言語（本実施形態では、Ｊａｖａ（登録商標）スクリプト）で記述されたスクリプトが埋め込まれている。このスクリプトは、上記ＧＵＩ画面に対して為された操作（例えば、特定の機能のオン／オフを指示する旨のラジオボタンの押下等）に応じて、設定ファイル１４４ｃの書き換えを指示する旨のコマンドを生成し、通信制御装置１０によって割り当てられる識別番号であるセッションＩＤ（例えば、アクセス要求の受信順に発行される一連番号）とともにＰＯＳＴメソッドのボディ部に書き込んで通信制御装置１０に送信する処理をブラウザに実行させるものである。ここで、ＧＵＩ画面に対する操作内容に応じてコマンドを生成するスクリプトの一例としては、操作の対象となったオブジェクト（プルダウンメニューやラジオボタン）を識別する識別子（例えば、オブジェクトの名称）をコマンド名に変換して上記ボディ部に書き込み、そのオブジェクトに対する設定値を当該コマンドの引数として上記ボディ部に追記する処理をブラウザに実行させるものが挙げられる。また、上記セッションＩＤは、後述のように所謂ＣＳＲＦ攻撃による不正な動作設定を防止するために使用される。ＰＯＳＴメソッドは、本来、ＨＴＴＰ（Hyper Text Transfer Protocol）にしたがって送受信される通信メッセージの一種であって、本来はその送信先に対して同ＰＯＳＴメソッドのボディ部にて指定したプログラムの実行およびその実行結果の返信を要求する通信メッセージであるが、本実施形態では、ＰＯＳＴメソッドを用いてコマンドの実行を指示するようにした点に特徴がある。
【００３３】
ライブラリファイルは、フォームデータとともに通信制御装置１０から操作端末２０へ送信されるデータファイルであって、フォームデータに埋め込まれているスクリプトから呼び出される各種関数（各フォームデータに埋め込まれるスクリプトで共通して実行される頻度が高いと考えられる処理を規定する関数）のスクリプトが含まれている。このライブラリファイルに含まれている関数の一例としては、前述したセッションＩＤを取得するためのセッションＩＤ取得関数や、ＰＯＳＴメソッドのヘッダ部を操作端末２０や通信制御装置１０の通信アドレス等から生成するヘッダ部生成関数が挙げられる。セッションＩＤ取得関数は、制御部１００によってセットされるセッションＩＤをreturnコマンドによって当該関数の呼び出し元へ引渡す処理を実行する関数である。詳細については後述するが、このセッションＩＤ取得関数へのセッションＩＤのセットは、そのセッションＩＤ取得関数のスクリプトを含むライブラリファイルの送信を行う度に実行される。上記フォームデータに埋め込むスクリプトにおいては、上記セッションＩＤ取得関数を呼び出し、その出力値をＰＯＳＴメソッドのボディ部に書き込むようにすることで、通信制御装置１０によって割り当てられたセッションＩＤを参照することができるのである。このようなライブラリファイルを用意しておくことで、各ネットワーク管理者用のフォームデータをＳＩｅｒが作成する際に、ヘッダ部生成関数やセッションＩＤ取得関数の処理手順の全体を規定するスクリプトを各フォームデータのスクリプトに逐一埋め込むといった手間を省くことができるのである。
【００３４】
次いで、動作設定支援プログラム１４４ｂについて説明する。
この動作設定支援プログラム１４４ｂは、第１通信Ｉ／Ｆ部１１０を介して操作端末２０からアクセス要求を受信したことを契機として実行されるプログラムである。この動作設定支援プログラム１４４ｂは、フォームデータ送信処理とコマンド実行処理の２つの処理からなる動作設定支援処理を制御部１００に実行させるものである。フォームデータ送信処理とは、第１通信Ｉ／Ｆ部１１０を介して受信したアクセス要求の送信元に応じたフォームデータとライブラリファイルとをそのアクセス要求の送信元へ返信する処理である。一方、コマンド実行処理とは、操作端末２０から送信されてくるＰＯＳＴメソッドを受信し、そのＰＯＳＴメソッドのボディ部に書き込まれているコマンドを解釈し実行する処理である。これらフォームデータ送信処理およびコマンド実行処理の詳細については重複を避けるため動作例にて明らかにする。なお、この動作設定支援プログラム１４４ｂは、上述した動作設定支援処理の他に、一般的なコマンド実行処理（すなわち、外部機器Ｉ／Ｆ部１３０を介して与えられるコマンドの解釈および実行を行う処理）を制御部１００に実行させるものであっても良く、また、外部機器Ｉ／Ｆ部１３０を介して与えられるコマンドの解釈および実行については、他のプログラムによって制御部１００に実行させるようにしても勿論良い。
以上が通信制御装置１０の構成である。
【００３５】
（Ｂ：動作）
以下、ユーザＩＤとして“user1”がユーザ認証用ファイルに登録されているネットワーク管理者が通信制御装置１０の動作設定を行う場合を例にとって、通信制御装置１０の動作例を説明する。まず、上記ネットワーク管理者は、操作端末２０を通信制御装置１０に接続し、その操作端末２０にてブラウザを起動し、通信制御装置１０へのアクセス要求の送信を指示する。すると、図４に示すように、操作端末２０から通信制御装置１０へアクセス要求Ｍ０１０が送信される。
【００３６】
通信制御装置１０の制御部１００は、操作端末２０から送信されてくるアクセス要求Ｍ０１０を第１通信Ｉ／Ｆ部１１０を介して受信すると、動作設定支援プログラム１４４ｂの実行を開始し、まず、フォームデータ送信処理を実行する。このフォームデータ送信処理では、制御部１００は、まず、アクセス要求Ｍ０１０の送信元であるエンドユーザについてのユーザ認証を行う（ステップＳＡ１００）。
【００３７】
図４では詳細な図示は省略したが、このステップＳＡ１００では、制御部１００は、まず、ユーザ名の返信を要求する旨の通信メッセージを操作端末２０へ送信する。この通信メッセージを受信した操作端末２０では、ユーザ名の入力を促すユーザ認証画面が表示され、このユーザ認証画面に対してユーザ名の入力および所定の送信ボタンの押下が行われると、そのユーザ名を書き込んだ通信メッセージが操作端末２０から通信制御装置１０へ送信される。本動作例では、操作端末２０を操作しているネットワーク管理者のユーザ名として“user1”が操作端末２０から通信制御装置１０へ送信される。このようにして、操作端末２０から送信されてくるユーザ名がユーザ認証用ファイルに登録されているか否かを通信制御装置１０の制御部１００に判定させることで、アクセス要求Ｍ０１０の送信元についてのユーザ認証が実現されるのである。
【００３８】
ステップＳＡ１００のユーザ認証により、動作設定を行うことが許可されているネットワーク管理者ではないと判定された場合（すなわち、操作端末２０から送信されてきたユーザ名がユーザ認証用ファイルに登録されていない場合）には、制御部１００は、エラーメッセージを操作端末２０へ返信し、本動作設定支援処理を終了する。逆に、アクセス要求Ｍ０１０の送信元が所定のネットワーク管理者の何れかであると判定される場合には、制御部１００は、フォームデータおよびライブラリファイルの返信を実行する。本動作例では、アクセス要求Ｍ０１０の送信元のユーザＩＤとして“user1”が操作端末２０から通信制御装置１０へと送信され、このユーザＩＤはユーザ認証用ファイルに登録されているものである。したがって、本動作例では、ユーザＩＤが“user1”であるユーザのフォームデータおよびライブラリファイルの返信が実行される。
【００３９】
より詳細に説明すると、フォームデータおよびライブラリファイルの返信を行う際には、制御部１００は、まず、新たなセッションＩＤを生成し、このセッションＩＤと上記アクセス要求の送信元を一意に示す識別子（本動作例では、送信元（操作端末２０）の通信アドレス）とを対応付けて揮発性記憶部１４２に書き込む。次いで、制御部１００は、ライブラリファイルに含まれているセッションＩＤ取得関数に上記新たなセッションＩＤをセットし、当該セッションＩＤをセット済みのライブラリファイルと、上記ユーザ認証にて認証されたネットワーク管理者のフォームデータとを書き込んだ通信メッセージＭ０２０を操作端末２０へ返信する。このようにして送信されてくるフォームデータおよびライブラリファイルを受信した操作端末２０では、そのフォームデータをブラウザを用いて解釈および実行することでＧＵＩ画面が表示され（ステップＳＢ１００）、通信制御装置１０の動作設定を行うことが促されるのである。そして、操作端末２０の使用者が上記ＧＵＩ画面に対して各種入力操作を行い、所定の送信ボタンを押下すると、その操作内容に応じたコマンドとセッションＩＤ取得関数を呼び出すことにより取得されるセッションＩＤとがボディ部に書き込まれたＰＯＳＴメソッドＭ０３０を生成し通信制御装置１０へ送信する処理がブラウザによって実行される。
【００４０】
通信制御装置１０の制御部１００は、操作端末２０から送信されたＰＯＳＴメソッドＭ０３０を受信すると、前述したコマンド実行処理を実行する。このコマンド実行処理では、制御部１００は、まず、ＰＯＳＴメソッドＭ０３０の送信元の通信アドレスとそのボディ部に書き込まれているセッションＩＤの組み合わせが正しいものであるか否か（すなわち、揮発性記憶部１４２に記憶されているセッションＩＤとアクセス要求の送信元の通信アドレスの組み合わせと一致するか否か）を判定する（ステップＳＡ１１０）。そして、ステップＳＡ１１０の判定結果が“Ｙｅｓ”である場合には、制御部１００は、ＰＯＳＴメソッドＭ０３０のボディ部に書き込まれているコマンドを実行し（ステップＳＡ１２０）、さらにその実行結果を示す通信メッセージＭ０４０を操作端末２０へ送信して本動作設定支援処理を終了する。逆に、ステップＳＡ１１０の判定結果が“Ｎｏ”である場合には、制御部１００は、エラーメッセージを送信（図４では、図示略）して本動作設定支援処理を終了する。
【００４１】
ここで、ＰＯＳＴメソッドＭ０３０のボディ部に書き込まれているセッションＩＤとその送信元の通信アドレスの組み合わせが揮発性記憶部１４２に記憶されている組み合わせと一致する場合にのみ、そのＰＯＳＴメソッドＭ０３０のボディ部に書き込まれているコマンドを実行するようにしたのは、所謂ＣＳＲＦ攻撃により不正な動作設定が為されることを防止するためである。通信制御装置１０に対するＣＳＲＦ攻撃とは、図５に示すような態様で善意の第三者（通信制御装置１０に対して不正な動作設定を行うことを意図してはいない者）に知らず知らずのうちに不正な動作設定を行わせることである。図５に示すように、通信制御装置１０に対するＣＳＲＦ攻撃を企てる者は、まず、通信制御装置１０からハッキング等によりフォームデータ（或いは同フォームデータに含まれているスクリプト）を取得し、アクセスと同時にＰＯＳＴメソッド（不正な動作設定を指示するコマンドがボディ部に書き込まれたＰＯＳＴメソッド）を送信するように改ざんを加えて通信販売サイトの商品紹介ページのＨＴＭＬデータに埋め込んでおく。このような状況下で善意の第三者がブラウザを用いて上記通信販売サイトの商品紹介ページの閲覧（すなわち、商品紹介ページのＨＴＭＬデータの取得、および解釈／実行）を行うと、当該第三者の使用するＰＣからＰＯＳＴメソッドが送信されることとなる。このようにして善意の第三者の使用するＰＣから送信されるＰＯＳＴメソッドのボディ部に書き込まれているコマンドが通信制御装置１０で実行されることによって、上記ＣＳＲＦ攻撃を企て者の意図した通りに不正な動作設定が為されるのである。これが通信制御装置１０に対するＣＳＲＦ攻撃である。
【００４２】
このように、ＣＳＲＦ攻撃では、通信制御装置１０に対して不正な動作設定を行うＰＯＳＴメソッドが善意の第三者が使用するＰＣから送信されることに特徴があり、ＰＯＳＴメソッドの送信元を突き止めることができたとしても、そのＣＳＲＦ攻撃を企てた者を突き止めることはできず、従来のハッキングやクラッキングなどに比較して対処が難しいといった問題があった。これに対して本実施形態では、ＣＳＲＦ攻撃における善意の第三者の使用するＰＣの通信アドレスと、セッションＩＤに対応付けて揮発性記憶部１４２に記憶されている通信アドレス（何れかのネットワーク管理者の使用する操作端末の通信アドレス）とが一致することはなく、上記ＰＣから送信されたＰＯＳＴメソッドのボディ部に書き込まれているコマンドが実行されることはない。このように、本実施形態によれば、ＣＳＲＦ攻撃により不正な動作設定が為されることを防止することができる。
【００４３】
以上説明したように本実施形態によれば、動作設定を行うためのコマンドを熟知していないエンドユーザが手軽に通信制御装置１０の動作設定を行うことが可能になる。なお、本実施形態によればＳＩｅｒは上記動作設定のためのフォームデータ等を作成するといった作業を行うことが必要になるが、ライブラリファイルの提供によりその作業負荷は軽減されており、過剰な負荷がＳＩｅｒにかかることはない。また、本実施形態では、複数のネットワーク管理者の各々に対して予め定められた範囲内でのみ設定項目の更新（すなわち、動作設定）を行わせるように、ネットワーク管理者毎に異なるＧＵＩを提供することができるため、各ネットワーク管理者の役職や権限、通信制御装置１０の運用経験に応じて柔軟に動作設定を行わせることが可能になる。加えて、本実施形態では、ＣＳＲＦ攻撃に対する耐性を高め、不正な動作設定が行われることを防止することができるのである。
【００４４】
以上本発明の一実施形態について説明したが、この実施形態を以下のように変形しても勿論良い。
（１）上述した実施形態では、通信制御装置に本発明を適用したが、Ｗｅｂカメラに本発明を適用しても勿論良い。要は、通信網に接続され、かつ、コマンド入力により動作設定が行われる電子機器であれば、本発明を適用することでエンドユーザに簡便に動作設定を行わせることが可能になる。また、上述した実施形態では、エンドユーザに電子機器の動作設定を促すユーザインタフェースとしてＧＵＩを用いたが、ＣＵＩを用いても勿論良い。コマンド入力に不慣れな者にはＧＵＩが好ましく、逆に、ある程度コマンド入力に慣れている者にとってはＣＵＩのほうが使い勝ってが良いため、エンドユーザの技量（コマンドの習熟度等）に応じて好適なほうを選択するようにすれば良い。
【００４５】
（２）上述した実施形態では、操作端末２０にてスクリプトを実行することにより生成したコマンドをＰＯＳＴメソッドのボディ部に書き込んでそのまま通信制御装置１０へ送信したが、通信制御装置１０の動作設定内容が悪意の第三者に知られることを回避するために上記ボディ部（或いは、操作端末２０から通信制御装置１０へ送信する通信メッセージのペイロード部）に何らかの暗号化を施して送信するようにしても勿論良い。
【００４６】
（３）上述した実施形態では、セッションＩＤを用いてＣＳＲＦ攻撃に対する耐性を高めたが、動作設定の対象となる電子機器がＣＳＲＦ攻撃を受ける虞がないもの（例えば、イントラネットの構築に用いられる通信制御装置のように広域網を介してアクセスすることができない電子機器）である場合には、セッションＩＤを用いた制御を行う必要はない。また、電子機器の運用管理者が一人である場合のように複数種のＧＵＩを提供する必要がない場合には、１つのフォームデータを不揮発性記憶部１４４に格納しておけば良いことは言うまでもない。
【００４７】
（４）上述した実施形態では、セッションＩＤを用いてＣＳＲＦ攻撃に対する耐性を高めたが、セッションＩＤを用いて他の態様の制御を行うことも可能である。例えば、イントラネットを構成する複数の通信制御装置をグループ分けし、グループ毎に一括して動作設定を行うといった制御を行うことが可能になる。具体的には、各通信制御装置が発行するセッションＩＤとして「その通信制御装置が属するグループのグループ番号」＋「アクセス要求を受信するたびに更新される一連番号」を用い、それら通信制御装置の何れかから取得したフォームデータにしたがって操作端末にＰＯＳＴメソッドを送信させる際には、そのＰＯＳＴメソッドをイントラネット内にブロードキャスト送信させる。そして、各通信制御装置には、受信したＰＯＳＴメソッドに付与されているセッションＩＤのグループ番号部分が当該通信制御装置の属するグループのグループ番号と一致する場合に、そのＰＯＳＴメソッドのボディ部に書き込まれているコマンドを実行させるのである。
【００４８】
（５）上述した実施形態では、通信制御装置１０の特徴を顕著に示す通信制御処理および動作設定支援処理をソフトウェアで実現した。しかし、通信制御処理を実行する通信制御手段と動作設定支援処理を実行する動作設定支援手段の各々を電子回路などのハードウェアで実現し、これら各手段と、第１通信Ｉ／Ｆ部１１０、第２通信Ｉ／Ｆ部１２０、および各種ファイル（設定ファイル１４４ｃと動作設定支援用ファイル群１４４ｄ）を記憶した記憶部１４０とを組み合わせて通信制御装置を構成しても勿論良い。また、上述した実施形態では、動作設定支援プログラム１４４ｂが通信制御装置１０の不揮発性記憶部１４４に予め格納されていたが、ＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に動作設定支援プログラム１４４ｂを書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより動作設定支援プログラム１４４ｂを配布しても良い。また、上述した実施形態では、通信制御処理と動作設定支援処理とを各々別個のプログラムで実現したが、両者を１つのプログラムで実現しても勿論良い。
【符号の説明】
【００４９】
１…通信システム、１０…通信制御装置、１００…制御部、１１０…第１通信Ｉ／Ｆ部、１２０…第２通信Ｉ／Ｆ部、１３０…外部機器Ｉ／Ｆ部、１４０…記憶部、１４２…揮発性記憶部、１４４…不揮発性記憶部、１４４ａ…通信制御プログラム、１４４ｂ…動作設定支援プログラム、１４４ｃ…設定ファイル、１４４ｄ…動作設定支援用ファイル群、１５０…バス。
【図１】
0005444951.tif 000002
【図２】
0005444951.tif 000003
【図３】
0005444951.tif 000004
【図４】
0005444951.tif 000005
【図５】
0005444951.tif 000006