ネットワークデバイス
【課題】ネットワークを介して情報を配信するネットワークシステムにおいて、配信先の機器でSSLサーバの設定がされていない場合でも、柔軟にセキュアな情報配信を実現出来るようにする。
【解決手段】各ネットワークデバイスに、暗号通信を確立するために通信相手先とネゴシエーションを行う制御手段を備え、ネゴシエーションを行って配信先がSSLクライアントとして配信元機器に対して情報を取得するように切り替え、暗号通信を確立する。
【解決手段】各ネットワークデバイスに、暗号通信を確立するために通信相手先とネゴシエーションを行う制御手段を備え、ネゴシエーションを行って配信先がSSLクライアントとして配信元機器に対して情報を取得するように切り替え、暗号通信を確立する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク環境に接続され情報を暗号化し送受信する送受信機能を持つネットワークデバイス等が、通信相手先の状態に応じてサーバ型とクライアント型の送受信手段を切り替える制御手段と有し、通信相手先でサーバ型セキュリティ設定がされていない状態でもセキュアに情報を配信する技術に関する。
【背景技術】
【0002】
近年、イーサネット(登録商標)ワークの一般化や高機能化に伴い、同一リンク内に多数のパーソナルコンピュータ(PC)や印刷装置などネットワークデバイスが存在している。
【0003】
大きな企業にもなると、何千台というPCや印刷装置が同一リンク内に存在している。
【0004】
その中で、ドメインネームサーバ(DNS)アドレスやゲートウェイアドレス、また印刷装置の場合ならばアドレス帳設定など機器で共通の設定にできる項目が存在する。従来ではこれらの設定をユーザー、あるいはネットワーク管理者が一台一台手作業で登録処理を行っており、非常に負荷のかかる作業であった。
【0005】
しかし近年は、ウェブサービスを利用した情報配信機能を利用して、情報配信サーバから同一リンクの機器に対して共通情報を配信する技術が一般化されている。このリンク図を図1に示す。配信元機器Aは複数の配信先機器BおよびCなどに対して、定期的あるいは指示があった場合に情報を配信する。具定期には、HTTPプロトコル上で動作するSOAPやRESTなどの技術を利用して、メッセージデータのボディ部に情報を格納して送信する。このとき、機密情報などが含まれる場合は、SSLなどを使用して通路を暗号化して送信する。
【0006】
前記情報配信のシーケンスを図2に示す。まず情報を配信する機器は、配信先のIPアドレスを知っておく必要がある。配信先情報は、予め配信機器に登録しておいても、配信する際にマルチキャストなどを利用してそのつど配信先を設定してもよい。
【0007】
配信元機器は、配信先機器に対してHTTPリクエストを送信し、配信先機器は自身が情報を配信される設定になっていれば、HTTPレスポンスを送信し、その後SOAPメッセージを介して共通情報を配信する。配信された機器はその情報を自身のHDDやSRAMなどの不揮発性記憶装置に保存し、その設定を有効にする。配信元機器は、設定されている配信先機器の数分だけ前記処理を繰り返し、最終的に同一リンク内の全ての機器に共通情報を配信することができる。このとき、情報をSSLで配信する設定がされていればHTTPリクエストはSSLネゴシエーションとなる。このときの送信元機器Aのフローチャートを図3に示す。配信先はSSLサーバとして機能を有するので鍵や証明書などの設定が予めされている必要があり、配信元はSSLクライアントとなる。フローS32において、配信先がSSLネゴシエーションの了承を得たら、配信元機器は共通鍵を使用して情報を暗号化し、配信元に送信する。配信先機器は、共通鍵を使用して情報を復号化することで、セキュアに情報を送受信することができる。しかし、配信先機器で鍵や証明書などSSLサーバの設定がされていない場合は当然ネゴシエーションに失敗するために、フローS32のようにその場合は情報送信をあきらめる。例えば特許文献1のように、プッシュ型配信とプル型配信を切り替える方法も提案されているが、この前例ではSSLなどセキュリティが必要な場合に対しては有効ではない。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特許登録第3864253号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、前記従来技術の問題点として、SSLを使用して配信する設定がなされていた場合に、配信先でSSLサーバの設定間違いや設定忘れがあった場合に、SSLネゴシエーションに失敗し、情報を配信できないという問題がある。
【0010】
前述のように、大きな企業などでは何千、何百台の印刷装置が設置されており、その一つ一つにSSLサーバとしての機能を有効にして鍵や証明書を登録することは、ネットワーク管理者などが手作業で行わなければならない。
【課題を解決するための手段】
【0011】
上記従来の課題を解決するために本発明に係る第1の発明は、
通信回線を介して、外部機器との情報の送受信を行うことができるネットワークデバイスにおいて、
前記外部機器との情報の送受信を行うネットワークプロトコルスタックを搭載し、ネットワークデータのパケットをやり取りする送受信手段と、
情報をウェブサービスのパケット形式で送受信する送受信手段と、
前記パケットを暗号化復号化する暗号処理手段と、
前記暗号通信を確立するために通信相手先とネゴシエーションを行う制御手段と、
前記ネゴシエーションに失敗した場合、通信相手先に暗号通信を確立させる命令を送信する送信手段と、
前記命令を受信した場合に、通信相手先に対して暗号通信を確立するためのネゴシエーションを行う制御手段を有することを特徴とする。
【発明の効果】
【0012】
本発明を実現することによって、従来セキュアに情報を配信する際に配信先のSSL設定サーバ設定がされていないと情報を配信できないという問題があったが、SSLクライアントとして情報を取得させることで、配信先機器で鍵や証明書設定がされていなくてもセキュアに情報を配信することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施例におけるネットワーク構成図を示す図である。
【図2】本発明の従来技術における情報配信のシーケンス図である。
【図3】本発明の従来技術における情報配信元機器のフローチャートを示す図である。
【図4】本発明の実施例におけるハードウェアおよびソフトウェア構成図である。
【図5】本発明の第1実施例における情報配信のシーケンス図である。
【図6】本発明の第1実施例におけるサーバ型とクライアント型を切り替える命令コマンドのパケットフォーマットを示す図である。
【図7】本発明の第1実施例におけるコマンド種別を表す対応表である。
【図8】本発明の第1実施例における情報要求を表すパケットフォーマットを示す図である。
【図9】本発明の第1実施例における情報要求に対する送信のパケットフォーマットを示す図である。
【図10】本発明の第1実施例における情報の識別子対応表である。
【図11】本発明の第1実施例における送信元機器の処理のフローチャートを示す図である。
【図12】本発明の第1実施例における送信先機器の処理のフローチャートを示す図である。
【図13】本発明の第2実施例におけるサーバ型とクライアント型を切り替える命令コマンドのパケットフォーマットの改変例を示す図である。
【図14】本発明の第2実施例における情報要求を表すパケットフォーマットの改変例を示す図である。
【図15】本発明の第2実施例における配信IDと配信先、配信内容を管理する管理表を示す図である。
【発明を実施するための形態】
【0014】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例1】
【0015】
図4は、本発明の実施例におけるデジタル複合機のハードウェア構成を示すブロック図である。CPU101は、デジタル複合機のソフトウェアプログラムを実行し、装置全体の制御を行う。ROM102は、リードオンリーメモリであり、装置のブートプログラムや固定パラメータ等が格納されている。RAM103は、ランダムアクセスメモリであり、CPU101が装置を制御する際に、一時的なデータの格納などに使用する。HDD108は、ハードディスクドライブであり、印刷データの格納など、様々なデータの格納に使用する。タイマ112は、タイマ処理における経過時刻の管理を行う。プリンタI/F制御部104は、プリンタ110を制御する装置である。NVRAM105は、不揮発性のメモリでありデジタル複合機の各種設定値を保存するためのものである。パネル制御部106は、オペレーションパネル109を制御し、各種情報の表示、使用者からの指示入力を行う。ネットワークI/F制御部107は、LAN111とのデータの送受信を制御する。バス108は、CPU101、ROM102、RAM103、HDD108、タイマ112、プリンタI/F制御部104、NVRAM105、パネル制御部106、ネットワークI/F制御部107が接続され、CPU101からの制御信号や各装置間のデータ信号が送受信されるシステムバスである。
【0016】
本実施例では、配信先でSSLサーバの設定がされていない場合でも、セキュアに情報を配信する技術について図5のシーケンス図に基づき記述する。
【0017】
まずフローS201において、配信元機器Aは情報を配信する際、従来と同様に配信先機器Bに対してSSLネゴシエーション開始パケットを開始する。配信先でSSLサーバの設定がされていれば、ネゴシエーション完了のパケットを配信元機器Aは受信し、その後は配信情報をウェブサービスとしてSSLを介して送信する。これは図2で説明したとおり従来技術の動作となる。
【0018】
一方、フローS202において配信先機器Bからネゴシエーション失敗のパケットを受信した場合は、従来技術のようにここで処理を終了させるのではなく、配信先機器Bに対して、配信先機器Bが配信元機器Aに情報を取得しにくるような命令コマンドを送信する。この命令コマンドのプロトコルは厳密には定義しないが、配信先と配信元でお互いに処理可能なことと、配信情報がウェブサービスを利用しているのでHTTP上で動作するプロトコルが望ましい。また、この命令コマンドには配信元機器が配信する予定であった情報の識別子も格納している。
【0019】
配信先機器Bは、この命令コマンドを受信したら、S204において自身がSSLクライアントとなり、配信元機器Aに対してSSLネゴシエーションを開始する。
【0020】
配信元機器AはSSLサーバの設定が有効になっているため、S205においてSSLネゴシエーションを受け付ける。フローS207おいて、配信先機器Bは命令コマンドに格納されている識別子を抽出し、その識別子を要求するようなリクエストパケットを作成し、送付された公開鍵を用いてパケットを暗号化して配信元に送信する。S208において配信元機器はまず受信パケットを復号化し、パケットを解釈する。リクエストパケットで要求されている識別子の情報を格納したパケットを作成し、同様に暗号化してリプライを行う。
【0021】
この一連の処理に従って配信先機器はSSLサーバの設定がされていなくとも、自身がSSLクライアントになることでセキュアに情報を送受信することが実現できる。
【0022】
図6は、前記配信元機器が送信する命令コマンドのパケットフォーマット一例を示す。HTTPのボディ部に、コマンド種別を格納する領域が用意され、ここに相手先に情報を取得するように指示する意図のIDを格納する。また、データ領域には、配信する情報識別子の総数を意味する箇所と、識別子を格納する。コマンド種別の対応表を図7に示す。例えば、コマンド種別0x001はSSLサーバとSSLクライアントの切替命令を意味するコマンドであり、コマンド種別0x002は情報要求リクエストを意味するコマンド、コマンド種別0x003は情報要求リクエストに対するリプライを意味するコマンドである。
【0023】
図8は、前記命令コマンドを受信した配信先機器が、前記パケットから識別子情報を抽出し情報リクエストパケットを作成する場合のパケットフォーマットの一例である。コマンド種別には、要求を意味するIDを格納し、実際のどの情報が欲しいかはデータ領域の識別子によって表現している。
【0024】
図9は、配信元機器が前記リクエストパケットを受信した場合の、返信用パケットフォーマットの一例である。コマンド種別には、返答を意味するIDを格納し、要求された識別子の値を格納して送信する。
【0025】
このとき、配信先と配信元では図10のような識別子対応表を予めプログラムに組み込まれているため、識別子の取り違い等は発生することはない。
【0026】
図11には配信元機器の処理のフローチャートを示す。
【0027】
まず配信元機器AはフローS1001において、配信する情報があるかどうかを判別する。情報配信は、定期的あるいは指示があった場合に配信を行う。
【0028】
フローS1001において配信する情報があると判断した場合は、フローS1002において、予め登録されている配信先機器に対してユニキャストでSSLネゴシエーション開始パケットを送信する。フローS1003において、リプライパケットからネゴシエーションが成功したか失敗したかを判別し、成功の場合は従来技術と同様にフローS1004において送信情報データを暗号化して送信先機器に対して送信する。
【0029】
フローS1003において、ネゴシエーションが失敗した場合は、フローS1007において命令コマンドを配信先機器に対して送信する。その後はフローS1008においてSSLネゴシエーション開始パケットが来るのを待つ。SSLネゴシエーションパケットが受信できなかった場合は、処理を終了する。一方、ネゴシエーションパケットを受信した場合は、受信完了のリプライを行いネゴシエーションを完了させセキュア通信路を確立する。
【0030】
次にフローS1010において、SSLで暗号化された情報リクエストパケットが受信するのを待つ。パケットの受信がない場合はそのまま処理を終了する。また、パケット受信した場合は、フローS1011において共通鍵を使用してパケットデータを復号化し、要求されているリクエスト識別子を解釈し、該当する設定値を記憶装置から抽出する。次にフローS1012において、パケットデータを暗号化して配信先機器に送信する。この処理をリクエストデータがなくなるまで繰り返す。
【0031】
一方、図12には配信先機器の処理のフローチャートを示す。
【0032】
まずフローS2001において配信元機器からSSLネゴシエーションの要求を受信した場合、自身にSSLサーバの設定がされているかどうかを判断する。具体的には鍵と証明書が予め作成されているかどうかを判断する。このとき、設定がされていた場合は、従来技術と同様に、フローS2003においてネゴシエーションに対して正常リプライを送信しSSL通信路を確立する。そしてフローS2004以降で配信元機器から送付される情報がなくなるまで受信を繰り返し、受信した情報を自身の設定に反映させる。
【0033】
一方、フローS2002において自身のSSLサーバが設定されていない場合は、フローS2007においてネゴシエーション拒否のパケットを送信する。この後配信元機器が本発明の機能を有していれば、フローS2008において命令コマンドが送信され、配信先機器はこの命令コマンドを受信する。フローS2009において、命令コマンドを受信した配信先機器は、配信元機器に対してSSLネゴシエーション開始要求パケットを送信する。この要求に対してネゴシエーション拒否のリプライがあった場合は処理を終了する。一方ネゴシエーション完了の通知があった場合は、フローS2011において命令コマンドで格納されている識別子を格納して、情報リクエストデータを作成し、共通鍵で暗号化を行う。フローS2012においてリクエストパケットを送信した後、フローS2013において受信データを待つ。リプライパケットを受信したら、フローS2014においてデータを復号化し、要求した識別子に対応した値を抽出し、その設定値を自身の機器に反映させる。フローS2013において受信データがまだある場合は、データ終了までこの処理を繰り返す。
【実施例2】
【0034】
本章では、実施例1で説明した配信元と配信先がやり取りするパケットフォーマットを改変し、より柔軟でトラフィックを軽減できる実施例について説明する。
【0035】
図13は、配信元機器が送信する命令コマンドのパケットフォーマットの改変例である。コマンド種別の領域には図6と同様の値が格納されるが、データ領域には、配信IDのみを格納する。このパケットフォーマットを受信した配信先機器は図14のリクエストパケットフォーマットに従って、情報要求を行う。データの領域の配信IDは前記命令コマンドで指定された配信IDと同じ値を格納しておく。
【0036】
前記リクエストパケットを受信した配信元機器は、図15で示すような管理テーブル表に従って、配信IDに対応した識別子と識別子情報を図9のパケットフォーマットで返信する。
【0037】
この実施例の場合では、配信元機器がどの配信先にどの情報を配信するべきかを全て図15の管理テーブル表で管理を行っているため、実施例1のように配信先機器に情報識別子を意識させる必要はなく、配信先機器の負荷とトラフィックの軽減につながる。
【0038】
配信元機器は、命令コマンドを配信先機器に対して送信する際、どの配信先に対してどの配信IDを割り振ったかを管理テーブル表に書き込みをすることによって記憶しておく。
【実施例3】
【0039】
前記実施例では、配信元機器は常にSSLが有効になっているウェブサーバとして動作している必要がある。しかし、配信先機器がSSLクライアントにならない限りウェブサーバとして機能は不要になるため、無駄なポートを開いてセキュリティ上の危惧がある。
【0040】
そのため、本実施例では、図5のフローS203において配信元機器が配信先機器に対して命令コマンドを送信した時点で初めてSSLおよびHTTPポートを開くような制御処理を行う。そして、図5の一連のシーケンスが終了し、情報をセキュアに配信することが完了したら配信元機器にウェブアクセスしてくる機器はいないはずなので、再びSSLおよびHTTPポートを閉じる。この処理によって、必要な時にしかポートを開閉しないので、配信元機器のセキュリティを向上することができる。
【技術分野】
【0001】
本発明は、ネットワーク環境に接続され情報を暗号化し送受信する送受信機能を持つネットワークデバイス等が、通信相手先の状態に応じてサーバ型とクライアント型の送受信手段を切り替える制御手段と有し、通信相手先でサーバ型セキュリティ設定がされていない状態でもセキュアに情報を配信する技術に関する。
【背景技術】
【0002】
近年、イーサネット(登録商標)ワークの一般化や高機能化に伴い、同一リンク内に多数のパーソナルコンピュータ(PC)や印刷装置などネットワークデバイスが存在している。
【0003】
大きな企業にもなると、何千台というPCや印刷装置が同一リンク内に存在している。
【0004】
その中で、ドメインネームサーバ(DNS)アドレスやゲートウェイアドレス、また印刷装置の場合ならばアドレス帳設定など機器で共通の設定にできる項目が存在する。従来ではこれらの設定をユーザー、あるいはネットワーク管理者が一台一台手作業で登録処理を行っており、非常に負荷のかかる作業であった。
【0005】
しかし近年は、ウェブサービスを利用した情報配信機能を利用して、情報配信サーバから同一リンクの機器に対して共通情報を配信する技術が一般化されている。このリンク図を図1に示す。配信元機器Aは複数の配信先機器BおよびCなどに対して、定期的あるいは指示があった場合に情報を配信する。具定期には、HTTPプロトコル上で動作するSOAPやRESTなどの技術を利用して、メッセージデータのボディ部に情報を格納して送信する。このとき、機密情報などが含まれる場合は、SSLなどを使用して通路を暗号化して送信する。
【0006】
前記情報配信のシーケンスを図2に示す。まず情報を配信する機器は、配信先のIPアドレスを知っておく必要がある。配信先情報は、予め配信機器に登録しておいても、配信する際にマルチキャストなどを利用してそのつど配信先を設定してもよい。
【0007】
配信元機器は、配信先機器に対してHTTPリクエストを送信し、配信先機器は自身が情報を配信される設定になっていれば、HTTPレスポンスを送信し、その後SOAPメッセージを介して共通情報を配信する。配信された機器はその情報を自身のHDDやSRAMなどの不揮発性記憶装置に保存し、その設定を有効にする。配信元機器は、設定されている配信先機器の数分だけ前記処理を繰り返し、最終的に同一リンク内の全ての機器に共通情報を配信することができる。このとき、情報をSSLで配信する設定がされていればHTTPリクエストはSSLネゴシエーションとなる。このときの送信元機器Aのフローチャートを図3に示す。配信先はSSLサーバとして機能を有するので鍵や証明書などの設定が予めされている必要があり、配信元はSSLクライアントとなる。フローS32において、配信先がSSLネゴシエーションの了承を得たら、配信元機器は共通鍵を使用して情報を暗号化し、配信元に送信する。配信先機器は、共通鍵を使用して情報を復号化することで、セキュアに情報を送受信することができる。しかし、配信先機器で鍵や証明書などSSLサーバの設定がされていない場合は当然ネゴシエーションに失敗するために、フローS32のようにその場合は情報送信をあきらめる。例えば特許文献1のように、プッシュ型配信とプル型配信を切り替える方法も提案されているが、この前例ではSSLなどセキュリティが必要な場合に対しては有効ではない。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特許登録第3864253号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、前記従来技術の問題点として、SSLを使用して配信する設定がなされていた場合に、配信先でSSLサーバの設定間違いや設定忘れがあった場合に、SSLネゴシエーションに失敗し、情報を配信できないという問題がある。
【0010】
前述のように、大きな企業などでは何千、何百台の印刷装置が設置されており、その一つ一つにSSLサーバとしての機能を有効にして鍵や証明書を登録することは、ネットワーク管理者などが手作業で行わなければならない。
【課題を解決するための手段】
【0011】
上記従来の課題を解決するために本発明に係る第1の発明は、
通信回線を介して、外部機器との情報の送受信を行うことができるネットワークデバイスにおいて、
前記外部機器との情報の送受信を行うネットワークプロトコルスタックを搭載し、ネットワークデータのパケットをやり取りする送受信手段と、
情報をウェブサービスのパケット形式で送受信する送受信手段と、
前記パケットを暗号化復号化する暗号処理手段と、
前記暗号通信を確立するために通信相手先とネゴシエーションを行う制御手段と、
前記ネゴシエーションに失敗した場合、通信相手先に暗号通信を確立させる命令を送信する送信手段と、
前記命令を受信した場合に、通信相手先に対して暗号通信を確立するためのネゴシエーションを行う制御手段を有することを特徴とする。
【発明の効果】
【0012】
本発明を実現することによって、従来セキュアに情報を配信する際に配信先のSSL設定サーバ設定がされていないと情報を配信できないという問題があったが、SSLクライアントとして情報を取得させることで、配信先機器で鍵や証明書設定がされていなくてもセキュアに情報を配信することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施例におけるネットワーク構成図を示す図である。
【図2】本発明の従来技術における情報配信のシーケンス図である。
【図3】本発明の従来技術における情報配信元機器のフローチャートを示す図である。
【図4】本発明の実施例におけるハードウェアおよびソフトウェア構成図である。
【図5】本発明の第1実施例における情報配信のシーケンス図である。
【図6】本発明の第1実施例におけるサーバ型とクライアント型を切り替える命令コマンドのパケットフォーマットを示す図である。
【図7】本発明の第1実施例におけるコマンド種別を表す対応表である。
【図8】本発明の第1実施例における情報要求を表すパケットフォーマットを示す図である。
【図9】本発明の第1実施例における情報要求に対する送信のパケットフォーマットを示す図である。
【図10】本発明の第1実施例における情報の識別子対応表である。
【図11】本発明の第1実施例における送信元機器の処理のフローチャートを示す図である。
【図12】本発明の第1実施例における送信先機器の処理のフローチャートを示す図である。
【図13】本発明の第2実施例におけるサーバ型とクライアント型を切り替える命令コマンドのパケットフォーマットの改変例を示す図である。
【図14】本発明の第2実施例における情報要求を表すパケットフォーマットの改変例を示す図である。
【図15】本発明の第2実施例における配信IDと配信先、配信内容を管理する管理表を示す図である。
【発明を実施するための形態】
【0014】
次に、本発明の詳細を実施例の記述に従って説明する。
【実施例1】
【0015】
図4は、本発明の実施例におけるデジタル複合機のハードウェア構成を示すブロック図である。CPU101は、デジタル複合機のソフトウェアプログラムを実行し、装置全体の制御を行う。ROM102は、リードオンリーメモリであり、装置のブートプログラムや固定パラメータ等が格納されている。RAM103は、ランダムアクセスメモリであり、CPU101が装置を制御する際に、一時的なデータの格納などに使用する。HDD108は、ハードディスクドライブであり、印刷データの格納など、様々なデータの格納に使用する。タイマ112は、タイマ処理における経過時刻の管理を行う。プリンタI/F制御部104は、プリンタ110を制御する装置である。NVRAM105は、不揮発性のメモリでありデジタル複合機の各種設定値を保存するためのものである。パネル制御部106は、オペレーションパネル109を制御し、各種情報の表示、使用者からの指示入力を行う。ネットワークI/F制御部107は、LAN111とのデータの送受信を制御する。バス108は、CPU101、ROM102、RAM103、HDD108、タイマ112、プリンタI/F制御部104、NVRAM105、パネル制御部106、ネットワークI/F制御部107が接続され、CPU101からの制御信号や各装置間のデータ信号が送受信されるシステムバスである。
【0016】
本実施例では、配信先でSSLサーバの設定がされていない場合でも、セキュアに情報を配信する技術について図5のシーケンス図に基づき記述する。
【0017】
まずフローS201において、配信元機器Aは情報を配信する際、従来と同様に配信先機器Bに対してSSLネゴシエーション開始パケットを開始する。配信先でSSLサーバの設定がされていれば、ネゴシエーション完了のパケットを配信元機器Aは受信し、その後は配信情報をウェブサービスとしてSSLを介して送信する。これは図2で説明したとおり従来技術の動作となる。
【0018】
一方、フローS202において配信先機器Bからネゴシエーション失敗のパケットを受信した場合は、従来技術のようにここで処理を終了させるのではなく、配信先機器Bに対して、配信先機器Bが配信元機器Aに情報を取得しにくるような命令コマンドを送信する。この命令コマンドのプロトコルは厳密には定義しないが、配信先と配信元でお互いに処理可能なことと、配信情報がウェブサービスを利用しているのでHTTP上で動作するプロトコルが望ましい。また、この命令コマンドには配信元機器が配信する予定であった情報の識別子も格納している。
【0019】
配信先機器Bは、この命令コマンドを受信したら、S204において自身がSSLクライアントとなり、配信元機器Aに対してSSLネゴシエーションを開始する。
【0020】
配信元機器AはSSLサーバの設定が有効になっているため、S205においてSSLネゴシエーションを受け付ける。フローS207おいて、配信先機器Bは命令コマンドに格納されている識別子を抽出し、その識別子を要求するようなリクエストパケットを作成し、送付された公開鍵を用いてパケットを暗号化して配信元に送信する。S208において配信元機器はまず受信パケットを復号化し、パケットを解釈する。リクエストパケットで要求されている識別子の情報を格納したパケットを作成し、同様に暗号化してリプライを行う。
【0021】
この一連の処理に従って配信先機器はSSLサーバの設定がされていなくとも、自身がSSLクライアントになることでセキュアに情報を送受信することが実現できる。
【0022】
図6は、前記配信元機器が送信する命令コマンドのパケットフォーマット一例を示す。HTTPのボディ部に、コマンド種別を格納する領域が用意され、ここに相手先に情報を取得するように指示する意図のIDを格納する。また、データ領域には、配信する情報識別子の総数を意味する箇所と、識別子を格納する。コマンド種別の対応表を図7に示す。例えば、コマンド種別0x001はSSLサーバとSSLクライアントの切替命令を意味するコマンドであり、コマンド種別0x002は情報要求リクエストを意味するコマンド、コマンド種別0x003は情報要求リクエストに対するリプライを意味するコマンドである。
【0023】
図8は、前記命令コマンドを受信した配信先機器が、前記パケットから識別子情報を抽出し情報リクエストパケットを作成する場合のパケットフォーマットの一例である。コマンド種別には、要求を意味するIDを格納し、実際のどの情報が欲しいかはデータ領域の識別子によって表現している。
【0024】
図9は、配信元機器が前記リクエストパケットを受信した場合の、返信用パケットフォーマットの一例である。コマンド種別には、返答を意味するIDを格納し、要求された識別子の値を格納して送信する。
【0025】
このとき、配信先と配信元では図10のような識別子対応表を予めプログラムに組み込まれているため、識別子の取り違い等は発生することはない。
【0026】
図11には配信元機器の処理のフローチャートを示す。
【0027】
まず配信元機器AはフローS1001において、配信する情報があるかどうかを判別する。情報配信は、定期的あるいは指示があった場合に配信を行う。
【0028】
フローS1001において配信する情報があると判断した場合は、フローS1002において、予め登録されている配信先機器に対してユニキャストでSSLネゴシエーション開始パケットを送信する。フローS1003において、リプライパケットからネゴシエーションが成功したか失敗したかを判別し、成功の場合は従来技術と同様にフローS1004において送信情報データを暗号化して送信先機器に対して送信する。
【0029】
フローS1003において、ネゴシエーションが失敗した場合は、フローS1007において命令コマンドを配信先機器に対して送信する。その後はフローS1008においてSSLネゴシエーション開始パケットが来るのを待つ。SSLネゴシエーションパケットが受信できなかった場合は、処理を終了する。一方、ネゴシエーションパケットを受信した場合は、受信完了のリプライを行いネゴシエーションを完了させセキュア通信路を確立する。
【0030】
次にフローS1010において、SSLで暗号化された情報リクエストパケットが受信するのを待つ。パケットの受信がない場合はそのまま処理を終了する。また、パケット受信した場合は、フローS1011において共通鍵を使用してパケットデータを復号化し、要求されているリクエスト識別子を解釈し、該当する設定値を記憶装置から抽出する。次にフローS1012において、パケットデータを暗号化して配信先機器に送信する。この処理をリクエストデータがなくなるまで繰り返す。
【0031】
一方、図12には配信先機器の処理のフローチャートを示す。
【0032】
まずフローS2001において配信元機器からSSLネゴシエーションの要求を受信した場合、自身にSSLサーバの設定がされているかどうかを判断する。具体的には鍵と証明書が予め作成されているかどうかを判断する。このとき、設定がされていた場合は、従来技術と同様に、フローS2003においてネゴシエーションに対して正常リプライを送信しSSL通信路を確立する。そしてフローS2004以降で配信元機器から送付される情報がなくなるまで受信を繰り返し、受信した情報を自身の設定に反映させる。
【0033】
一方、フローS2002において自身のSSLサーバが設定されていない場合は、フローS2007においてネゴシエーション拒否のパケットを送信する。この後配信元機器が本発明の機能を有していれば、フローS2008において命令コマンドが送信され、配信先機器はこの命令コマンドを受信する。フローS2009において、命令コマンドを受信した配信先機器は、配信元機器に対してSSLネゴシエーション開始要求パケットを送信する。この要求に対してネゴシエーション拒否のリプライがあった場合は処理を終了する。一方ネゴシエーション完了の通知があった場合は、フローS2011において命令コマンドで格納されている識別子を格納して、情報リクエストデータを作成し、共通鍵で暗号化を行う。フローS2012においてリクエストパケットを送信した後、フローS2013において受信データを待つ。リプライパケットを受信したら、フローS2014においてデータを復号化し、要求した識別子に対応した値を抽出し、その設定値を自身の機器に反映させる。フローS2013において受信データがまだある場合は、データ終了までこの処理を繰り返す。
【実施例2】
【0034】
本章では、実施例1で説明した配信元と配信先がやり取りするパケットフォーマットを改変し、より柔軟でトラフィックを軽減できる実施例について説明する。
【0035】
図13は、配信元機器が送信する命令コマンドのパケットフォーマットの改変例である。コマンド種別の領域には図6と同様の値が格納されるが、データ領域には、配信IDのみを格納する。このパケットフォーマットを受信した配信先機器は図14のリクエストパケットフォーマットに従って、情報要求を行う。データの領域の配信IDは前記命令コマンドで指定された配信IDと同じ値を格納しておく。
【0036】
前記リクエストパケットを受信した配信元機器は、図15で示すような管理テーブル表に従って、配信IDに対応した識別子と識別子情報を図9のパケットフォーマットで返信する。
【0037】
この実施例の場合では、配信元機器がどの配信先にどの情報を配信するべきかを全て図15の管理テーブル表で管理を行っているため、実施例1のように配信先機器に情報識別子を意識させる必要はなく、配信先機器の負荷とトラフィックの軽減につながる。
【0038】
配信元機器は、命令コマンドを配信先機器に対して送信する際、どの配信先に対してどの配信IDを割り振ったかを管理テーブル表に書き込みをすることによって記憶しておく。
【実施例3】
【0039】
前記実施例では、配信元機器は常にSSLが有効になっているウェブサーバとして動作している必要がある。しかし、配信先機器がSSLクライアントにならない限りウェブサーバとして機能は不要になるため、無駄なポートを開いてセキュリティ上の危惧がある。
【0040】
そのため、本実施例では、図5のフローS203において配信元機器が配信先機器に対して命令コマンドを送信した時点で初めてSSLおよびHTTPポートを開くような制御処理を行う。そして、図5の一連のシーケンスが終了し、情報をセキュアに配信することが完了したら配信元機器にウェブアクセスしてくる機器はいないはずなので、再びSSLおよびHTTPポートを閉じる。この処理によって、必要な時にしかポートを開閉しないので、配信元機器のセキュリティを向上することができる。
【特許請求の範囲】
【請求項1】
通信回線を介して、外部機器との情報の送受信を行うことができるネットワークデバイスにおいて、
前記外部機器との情報の送受信を行うネットワークプロトコルスタックを搭載し、ネットワークデータのパケットをやり取りする送受信手段と、
情報をウェブサービスのパケット形式で送受信する送受信手段と、
前記パケットを暗号化復号化する暗号処理手段と、
前記暗号通信を確立するために通信相手先とネゴシエーションを行う制御手段と、
前記ネゴシエーションに失敗した場合、通信相手先に暗号通信を確立させる命令を送信する送信手段と、
前記命令を受信した場合に、通信相手先に対して暗号通信を確立するためのネゴシエーションを行う制御手段を有するネットワークデバイスから構成されることを特徴とするネットワークデバイス。
【請求項2】
請求項1に記載のネットワークデバイスにおいて、情報とは識別子によって管理され、前記識別子はそれぞれの識別子に対応するデータフォーマットを有するような識別子であることを特徴とするネットワークデバイス。
【請求項3】
請求項1、又は請求項2に記載のネットワークデバイスにおいて、
前記識別子に基づいて情報を要求する要求手段と、前記識別子を要求されたら該当する識別子の情報を提供する提供手段を有することを特徴とするネットワークデバイス。
【請求項4】
請求項1に記載のネットワークデバイスにおいて、
ウェブサービスとはHTTPプロトコル上で動作するようなプロトコルを制御する制御手段を有することを特徴とするネットワークデバイス。
【請求項5】
請求項1に記載のネットワークデバイスにおいて、
暗号処理手段とはSSLやTLSであり、HTTP上で動作するようなプロトコルを制御する制御手段を有することを特徴とするネットワークデバイス。
【請求項6】
請求項1に記載のネットワークデバイスにおいて、
通信相手先に暗号通信を確立させる命令には、前記識別子情報あるいは配信先情報であり、一意に特定できる情報を含んでいる命令を有することを特徴とするネットワークデバイス。
【請求項7】
請求項1に記載のネットワークデバイスにおいて、
通信相手先に暗号通信を確立させる命令を送信した後にはじめて通信に必要なポートを開閉するような制御手段を有することを特徴とするネットワークデバイス。
【請求項1】
通信回線を介して、外部機器との情報の送受信を行うことができるネットワークデバイスにおいて、
前記外部機器との情報の送受信を行うネットワークプロトコルスタックを搭載し、ネットワークデータのパケットをやり取りする送受信手段と、
情報をウェブサービスのパケット形式で送受信する送受信手段と、
前記パケットを暗号化復号化する暗号処理手段と、
前記暗号通信を確立するために通信相手先とネゴシエーションを行う制御手段と、
前記ネゴシエーションに失敗した場合、通信相手先に暗号通信を確立させる命令を送信する送信手段と、
前記命令を受信した場合に、通信相手先に対して暗号通信を確立するためのネゴシエーションを行う制御手段を有するネットワークデバイスから構成されることを特徴とするネットワークデバイス。
【請求項2】
請求項1に記載のネットワークデバイスにおいて、情報とは識別子によって管理され、前記識別子はそれぞれの識別子に対応するデータフォーマットを有するような識別子であることを特徴とするネットワークデバイス。
【請求項3】
請求項1、又は請求項2に記載のネットワークデバイスにおいて、
前記識別子に基づいて情報を要求する要求手段と、前記識別子を要求されたら該当する識別子の情報を提供する提供手段を有することを特徴とするネットワークデバイス。
【請求項4】
請求項1に記載のネットワークデバイスにおいて、
ウェブサービスとはHTTPプロトコル上で動作するようなプロトコルを制御する制御手段を有することを特徴とするネットワークデバイス。
【請求項5】
請求項1に記載のネットワークデバイスにおいて、
暗号処理手段とはSSLやTLSであり、HTTP上で動作するようなプロトコルを制御する制御手段を有することを特徴とするネットワークデバイス。
【請求項6】
請求項1に記載のネットワークデバイスにおいて、
通信相手先に暗号通信を確立させる命令には、前記識別子情報あるいは配信先情報であり、一意に特定できる情報を含んでいる命令を有することを特徴とするネットワークデバイス。
【請求項7】
請求項1に記載のネットワークデバイスにおいて、
通信相手先に暗号通信を確立させる命令を送信した後にはじめて通信に必要なポートを開閉するような制御手段を有することを特徴とするネットワークデバイス。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2010−200098(P2010−200098A)
【公開日】平成22年9月9日(2010.9.9)
【国際特許分類】
【出願番号】特願2009−43923(P2009−43923)
【出願日】平成21年2月26日(2009.2.26)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年9月9日(2010.9.9)
【国際特許分類】
【出願日】平成21年2月26日(2009.2.26)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]