JPWO2009078217A1 - ネットワークシステムおよびデータ送信方法 - Google Patents

ネットワークシステムおよびデータ送信方法 Download PDF

Info

Publication number
JPWO2009078217A1
JPWO2009078217A1 JP2009546178A JP2009546178A JPWO2009078217A1 JP WO2009078217 A1 JPWO2009078217 A1 JP WO2009078217A1 JP 2009546178 A JP2009546178 A JP 2009546178A JP 2009546178 A JP2009546178 A JP 2009546178A JP WO2009078217 A1 JPWO2009078217 A1 JP WO2009078217A1
Authority
JP
Japan
Prior art keywords
information processing
temporary key
random number
data
encrypted data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009546178A
Other languages
English (en)
Inventor
信弥 加來
信弥 加來
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Publication of JPWO2009078217A1 publication Critical patent/JPWO2009078217A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

管理ノード(SN)は、乱数ノード(RN)から受信した乱数(214a)と、予め格納する秘密情報(216a)とを用いて一時鍵(210a)を生成し、この一時鍵(210a)を用いて、ユーザが入力する上述のようなコマンド(206a)を暗号化する。各監視カメラ(SC)では、乱数ノード(RN)から受信した乱数(314a)と、予め格納する秘密情報(316a)とを用いて一時鍵(310a)を生成し、この一時鍵(310a)を用いて、受信した暗号化データを復号化する。管理ノード(SN)および監視カメラ(SC)の各々は、このリセット指令を受信すると、その時点における一時鍵をリセットする。

Description

この発明は、互いにデータ通信可能な複数の情報処理装置を含むネットワークシステムおよびそのネットワークシステムにおけるデータ送信方法に関し、特にある情報処理装置から1つ以上の他の情報処理装置へのデータ送信を暗号化して行なうことが可能な構成に関する。
複数の情報処理装置が接続されたネットワークにおいて、ある情報処理装置から他の複数の情報処理装置へデータを高速に送信する方法として、マルチキャストと呼ばれる方式が知られている。このマルチキャストとは、複数の宛先に対して同一のデータ(パケット)を送信する方法である。
従来、このようなマルチキャストにおいて暗号化を行なう方法としては、予め定めたれた共通の暗号化鍵を用いる形式が採用されていた。これは、マルチキャストでは1対nのデータ通信となるので、暗号化鍵の交換や更新を動的に行なうことが複雑化するからである。しかしながら、このような固定の暗号化鍵を用いる形式では、この暗号化鍵が漏洩または解読されてしまうと、秘匿性を維持することができなくなる。さらに、この暗号化鍵が漏洩または解読されたことを検出することは難しく、送受信するデータが知らない間に漏洩する危険性もあった。
そのため、動的に暗号化鍵を変更可能な暗号化方法に対するニーズがあった。たとえば、特開平11−17673号公報(特許文献1)には、通信用端末間のデータ通信の暗号化方法として、各通信用端末が擬似乱数生成器によって生成される擬似乱数系列を用いて暗号化または復号化を行なう構成が開示されている(たとえば、図17)。この構成では、各擬似乱数生成器が予め配布された共有の秘密の鍵を初期値として擬似乱数系列を生成する。また、暗号通信の終了時における内部変数を次回の共通鍵として用いることも開示されている。その他、関連する技術を開示するものとして、特開2005−303784号公報(特許文献2)、特表2003−503949号公報(特許文献3)、特開2000−242168号公報(特許文献4)、および特開2002−217893号公報(特許文献5)などが挙げられる。
特開平11−17673号公報 特開2005−303784号公報 特表2003−503949号公報 特開2000−242168号公報 特開2002−217893号公報
しかしながら、特開平11−17673号公報(特許文献1)に開示される構成では、各通信用端末における擬似乱数生成器の間のタイミングがずれてしまうと、暗号化および復号化を正しく行なうことができなくなるという課題があった。そのため、一つの情報処理装置から多数の情報処理装置へのマルチキャストに適用しようとすると、宛先に指定された一部の情報処理装置における擬似乱数系列の生成タイミングがずれることも想定され、この結果、安定したデータ通信を行なうことができないという課題があった。
この発明は、このような課題を解決するためになされたものであり、その目的は、ある情報処理装置から1つ以上の他の情報処理装置へ同一のデータを送信する場合に、秘匿性の高い暗号化方式を用いて安定的にデータ送信を行なうことのできるネットワークシステムおよびそのネットワークシステムにおけるデータ送信方法を提供することである。
この発明のある局面に従うネットワークシステムは、第1情報処理装置と、少なくとも1つの第2情報処理装置とを含む。第1情報処理装置は少なくとも1つの第2情報処理装置へデータ送信可能である。第1情報処理装置は、送信すべきデータを一時鍵を用いて暗号化することで暗号化データを生成するための暗号化部と、前回の暗号化処理で用いられた一時鍵を所定規則に従って更新したうえで、引き続く暗号化処理に使用させる第1更新部とを含む。少なくとも1つの第2情報処理装置の各々は、第1情報処理装置から受信する暗号化データを一時鍵を用い復号化するための復号化部と、前回の復号化処理で用いられた一時鍵を所定規則に従って更新したうえで、引き続く復号化処理に使用させる第2更新部とを含む。第1情報処理装置および少なくとも1つの第2情報処理装置の各々は、リセット指令に応答して、一時鍵を所定値に更新する第3更新部をさらに含む。
好ましくは、第1情報処理装置および少なくとも1つの第2情報処理装置の各々は、第1データ列を含む共通の秘密情報を予め格納しており、リセット指令は、第2データ列を含む。第3更新部は、一時鍵を、第1データ列とリセット指令に含まれる第2データ列とに基づいて生成される値に更新する。
さらに好ましくは、リセット指令に含まれる第2データ列は、乱数として生成される。
好ましくは、第3更新部は、リセット指令に応答して一時鍵を予め定められた初期値に更新する。
好ましくは、ネットワークシステムは、第1情報処理装置および少なくとも1つの第2情報処理装置の各々へリセット指令を送信するための第3情報処理装置をさらに含む。
好ましくは、少なくとも1つの第2情報処理装置の各々は、第1情報処理装置からの暗号化データを受信した場合に、第1情報装置に当該暗号化データの受信確認を通知し、第1更新部は、暗号化データを送信後、当該暗号化データについての受信確認を少なくとも1つの第2の情報処理装置のすべてから受信した場合に、一時鍵を更新する。
好ましくは、少なくとも1つの第2情報処理装置の各々は、第1情報処理装置からの暗号化データを受信した場合に、第1情報装置に当該暗号化データの受信確認を通知し、暗号化部は、暗号化データを送信後、当該暗号化データについての受信確認を少なくとも1つの第2情報処理装置のすべてから受信した場合に、次に送信すべきデータを暗号化する。
好ましくは、第1更新部は、一時鍵および一時鍵の生成に用いるデータの少なくとも一方を、インクリメント、デクリメント、行入れ換え、ビットシフトの少なくとも1つを含む処理によって、一時鍵を更新する。
この発明の別の局面に従えば、第1情報処理装置と少なくとも1つの第2情報処理装置とを含むネットワークシステムにおいて、第1情報処理装置から少なくとも1つの第2情報処理装置へデータを送信する方法を提供する。データ送信方法は、第1情報処理装置が、送信すべきデータを一時鍵を用いて暗号化した暗号化データを少なくとも1つの第2情報処理装置へ送信するステップと、少なくとも1つの第2情報処理装置の各々が、第1情報処理装置から受信した暗号化データを一時鍵を用い復号化するステップと、第1情報処理装置が、暗号化に用いた一時鍵を所定規則に従って更新するステップと、少なくとも1つの第2情報処理装置の各々が、復号化に用いた一時鍵を所定規則に従って更新するステップと、少なくとも1つの第2情報処理装置の各々が、リセット指令に応答して、各々が保持する一時鍵を所定値に更新するステップとを含む。
この発明によれば、ある情報処理装置から1つ以上の他の情報処理装置へ共通のデータを送信する場合に、秘匿性の高い暗号化方式を用いて安定的にデータ送信を行なうことができる。
この発明の実施の形態1に従うネットワークシステムの概略構成図である。 この発明の実施の形態1に従う管理ノードおよび乱数ノードの代表例であるパーソナルコンピュータの概略のハードウェア構成を示す模式図である。 この発明の実施の形態1に従う管理ノードにおける制御構造を示す概略図である。 この発明の実施の形態1に従う監視カメラにおける制御構造を示す概略図である。 この発明の実施の形態1に従う乱数ノードにおける制御構造を示す概略図である。 この発明の実施の形態1に従うネットワークシステムにおける各部の処理内容を示す模式図である。 乱数ノードからリセット指令がマルチキャストされる処理を示す模式図である。 管理ノードから暗号化データがマルチキャストされる処理を示す模式図である。 管理ノードにおける処理をより詳細に示す図である。 監視カメラの各々における処理をより詳細に示す図である。 この発明の実施の形態1における一時鍵の更新処理を説明するための図である。 この発明の実施の形態1における一時鍵の更新処理の別形態を説明するための図である。 この発明の実施の形態1に従うネットワークシステムにおける処理手順を示すフローチャートである。 監視カメラが追加された場合の処理を示す模式図である。 監視カメラが暗号化データの受信に失敗した場合を示す模式図である。 この発明の実施の形態3に従うネットワークシステムにおける受信確認の通知に係る処理内容を示す模式図である。 この発明の実施の形態3に従うネットワークシステムにおける暗号化データの再送処理を示す模式図である。 同一の暗号化データが複数回にわたってマルチキャストされた場合における監視カメラにおける処理を示す図である。 図18に示す処理によって生じる結果を示す模式図である。 この発明の実施の形態3に従う管理ノードにおける暗号化データ送信の処理手順を示すフローチャートである。 この発明の実施の形態3に従う各監視カメラにおける暗号化データ受信の処理手順を示すフローチャートである。 この発明の実施の形態3の変形例に従う管理ノードにおける暗号化データ送信の処理手順を示すフローチャートである。
符号の説明
2 内部バス、4 ディスプレイ部、6 ネットワークインターフェイス(I/F)部、8 入力部、10 CPU、12 メモリ部、14 CD−ROMドライブ、14a CD−ROM、16 フレキシブルディスクドライブ、16a フレキシブルディスク、18 ハードディスク部(HDD)、102,202,302 データ送受信部、104,204,304 暗号化/復号化部、106,206,306 コマンド生成/読取部、108,208,308 送信相手リスト保持部、110,210,310 一時鍵生成部、112,212,312 一時鍵更新部、114,214,314 乱数保持部、116,216,316 秘密情報保持部、118,218,318 リセット部、120 乱数生成部、204a 暗号化データ、206a コマンド、210a,310a 一時鍵、214a,314a 乱数、216a,316a 秘密情報、220,320 データ作成部、304a コマンド、322 センサ処理部、324 センサ部、RN 乱数ノード、SC,SC1〜SC81 監視カメラ、SN 管理ノード。
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
[実施の形態1]
(ネットワークシステムの全体構成)
図1は、この発明の実施の形態1に従うネットワークシステムの概略構成図である。
図1を参照して、本実施の形態に従うネットワークシステムは、第1情報処理装置に相当する管理ノードSNと、第2情報処理装置に相当する監視カメラSC1〜SC80と、第3情報処理装置に相当する乱数ノードRNとを含む。各ノードおよび各装置は、同じマルチキャストグループに属しており、ネットワークを介して互いにデータ通信可能に構成される。
本実施の形態に従うネットワークシステムでは、多数の監視カメラSC1〜SC80(これらを総称して、「監視カメラSC」とも記す。)の各々で撮影された画像を管理ノードSNで収集することが可能であるとともに、管理ノードSNからコマンドなどを送信することで監視カメラSC1〜SC80の遠隔管理が可能である。なお、遠隔管理とは、一例として、監視カメラSC1〜SC80のフレームレートの変更や撮影モード変更(たとえば、昼間モードから夜間モードへの切り換え)などである。なお、本実施の形態では、主に、管理ノードSNから監視カメラSC1〜SC80に対して同じコマンドを一斉送信する場合の処理について説明する。
また、乱数ノードRNは、後述するように本実施の形態に従うネットワークシステムにおいて、暗号化通信を行なうための暗号化鍵の生成および更新を行なうための乱数(データ列)を生成し、管理ノードSNおよび監視カメラSC1〜SC80へ定期的あるいは何らかのイベント発生毎に一斉送信する。
このような監視カメラSC1〜SC80と管理ノードSNとの間で送受信されるデータは、秘匿性を保つ必要がある。なぜならば、監視カメラSCは防犯などの観点から設けられるものであり、悪意をもった部外者によって遠隔管理されてしまうと、その監視機能が果たされなくなるおそれがあるからである。そのため、本実施の形態に従うネットワークシステムでは、少なくとも管理ノードSNから監視カメラSC1〜SC80に対して、暗号化されたコマンドが送信される。
なお、本実施の形態に従うネットワークシステムは、「センサネットワーク」と称される構成に好適である。このセンサネットワークは、主として無線ネットワークに多数のセンサを接続したものであり、管理ノードからセンサに対してコマンドが送信され、かつ各センサから管理ノードへ集中的にデータが送信される。このようなセンサネットワークに用いられるセンサは、そのスペックが比較的低くても十分であり、小型化・軽量化・低消費電力化・価格などの面において有利である。なお、当然のことながら、ネットワークとして無線ネットワーク以外にも有線ネットワークを採用してもよい。
なお、本実施の形態に従うネットワークシステムでは、監視カメラSC1〜SC80と管理ノードSNとの間で双方向のデータ通信が可能な構成を想定しているが、いずれか一方が送信専用であり、他方が受信専用であってもよい。
(ハードウェア構成)
図2は、この発明の実施の形態1に従う管理ノードSNおよび乱数ノードRNの代表例であるパーソナルコンピュータの概略のハードウェア構成を示す模式図である。
図2を参照して、代表的に、本実施の形態に従う管理ノードSNは、オペレーティングシステムを含む各種プログラムを実行するCPU10と、CPU10でのプログラムの実行に必要なデータを一時的に記憶するメモリ部12と、CPU10で実行されるプログラムを不揮発的に記憶するハードディスク部(HDD)18とを含む。このようなプログラムは、CD−ROM(Compact Disk-Read Only Memory)ドライブ14またはフレキシブルディスク(FD:Flexible Disk)ドライブ16によって、それぞれCD−ROM14aまたはフレキシブルディスク16aなどから読取られる。
CPU10は、キーボードやマウスなどの入力部8を介してユーザによる操作要求を受け取るとともに、プログラムの実行によって生成される画面出力をディスプレイ部4へ出力する。また、CPU10は、LANカードなどのネットワークインターフェイス(I/F)部6を介して、監視カメラSCや乱数ノードRNとの間でデータ通信を行なう。なお、これらの部位は、内部バス2を介して互いに接続される。
本実施の形態に従う乱数ノードRNについても、上述の管理ノードSNのハードウェア構成と同様であるので、詳細な説明は繰返さない。また、監視カメラSCは、代表的に、比較的簡易な機能のハードウェアで実現される。
なお、第1〜第3情報処理装置としては、マルチキャスト通信が可能な通信プロトコルおよびアプリケーションを実装可能な装置であれば、どのような装置であってもよい。具体的には、第1〜第3情報処理装置の実現例としては、複写機能やファクシミリ機能などを搭載したMFP(Multi Function Peripheral)、携帯電話、PDA(Personal Digital Assistance)、ネットワークファクシミリなどを用いることができる。あるいは、専用のハードウェアおよびファームウェアなどからなる装置、単機能なセンサ装置、これらの装置を適宜組み合わせたもののいずれであってもよい。
なお、管理ノードSN、乱数ノードRN、監視カメラSCは、論理的にデータ通信可能な状態を形成できれば、必ずしも同一階層のネットワークに物理的に接続されている必要はない。あるいは、ノードという概念を有さない複数の機能の集合体、または複数の機能が分散した構成であってもよい。
(暗号化鍵の更新処理)
本実施の形態に従うネットワークシステムでは、管理ノードSNおよび各監視カメラSCがそれぞれ共通の一時鍵を用いて暗号化処理を行なう。すなわち、管理ノードSNがコマンドなどのデータを一時鍵を用いて暗号化した暗号化データを監視カメラSCへ送信し、各監視カメラSCが管理ノードSNと同じ一時鍵を用いて受信した暗号化データを復号する。特に、管理ノードSNおよび各監視カメラSCは、暗号化/復号化処理を実行するたびに一時鍵を共通の規則(ルール)に従って更新する。すなわち、管理ノードSNおよび監視カメラSCの各々は、両者における値を同一に保つように、一時鍵を自律的に順次更新する。これにより、1回の送信および受信の実行毎に暗号化に用いられる一時鍵が更新されることになるので秘匿性を高めることができる。
さらに、本実施の形態に従うネットワークシステムでは、乱数ノードRNが定期的あるいはイベント発生時にリセット指令を一斉送信し、管理ノードSNおよび監視カメラSCの各々は、このリセット指令を受信すると、その時点における一時鍵をリセットする。そのため、何らかの通信エラーなどの発生によって、管理ノードSNおよび各監視カメラSCが共通に保持する一時鍵が一致しないものとなっていたとしても、そのリセット指令が送信された時点で、管理ノードSNおよび各監視カメラSCにおける一時鍵を再度一致させることができる。このような構成によって、管理ノードSNと各監視カメラSCとの間のデータ通信を安定して行なうことができる。
なお、本実施の形態では、管理ノードSNおよび各監視カメラSCが所定のデータ列からなる秘密情報を予め保持しており、この秘密情報と後述する乱数とに基づいて、一時鍵が生成される。
以下、より詳細な構成について例示する。
(管理ノードの機能構成)
図3は、この発明の実施の形態1に従う管理ノードSNにおける制御構造を示す概略図である。図3に示す制御構造は、代表的に、CPU10(図2)が、ハードディスク部18(図2)に予め格納されたプログラムをメモリ部12(図2)に展開して実行することで実現される。
図3を参照して、管理ノードSNは、データ送受信部202と、暗号化/復号化部204と、コマンド生成/読取部206と、送信相手リスト保持部208と、一時鍵生成部210と、一時鍵更新部212と、乱数保持部214と、秘密情報保持部216と、リセット部218と、データ作成部220とをその機能として含む。
秘密情報保持部216は、暗号化に用いられる一時鍵を生成するための秘密情報を保持している。この秘密情報は、所定のビット数からなるデータ列であり、後述する一時鍵と同じビット数のデータ列が採用されることが好ましい。
乱数保持部214は、秘密情報とともに一時鍵の生成に用いられる乱数を保持する。この乱数保持部214に保持される乱数は、暗号化/復号化部204における復号化処理の実行に伴って更新され、あるいは乱数ノードRNからのリセット指令などに応じて、その値がリセットされる。なお、乱数保持部214に保持される乱数の保持時間(ライフ)や保持量(数)などについては適宜設計することができる。本実施例では、乱数保持部214には、十分な量の乱数が蓄えられており、必要に応じて任意に呼び出すことができ、その値の更新も瞬時に実行可能であるものとする。
一時鍵生成部210は、秘密情報保持部216に保持されている秘密情報と、乱数保持部214に保持されている乱数とを用いて、所定の演算処理によって一時鍵を生成する。本実施の形態では、一時鍵を生成するための演算処理の代表例として、排他的論理和(XOR:Exclusive OR)を用いる場合について例示する。この一時鍵生成部210が生成した一時鍵は暗号化/復号化部204へ随時出力される。
一時鍵更新部212は、暗号化/復号化部204で一回の暗号化処理(復号化処理)が実行されると、当該暗号化処理で用いられた一時鍵を所定規則に従って更新し、引き続く暗号化処理においては更新後の一時鍵を使用させる。より具体的には、一時鍵更新部212は、乱数保持部214に保持されている乱数を読み出し、この読み出した乱数を所定規則に従って更新(たとえば、インクリメント)する。これにより、引き続く暗号化処理に用いられる一時鍵は、この更新後の乱数に基づいて生成されるので、前回の暗号化処理で用いられた一時鍵とは異なったものとなる。なお、一時鍵そのものを随時更新してもよいが、このように一時鍵を生成するための元データの一部のみを更新することで、秘密情報またはその生成ロジックが秘密に保たれている限り、随時更新される一時鍵を予測することがより困難になり、安全性の観点からはより好ましい。
暗号化/復号化部204は、コマンド生成/読取部206から出力される送信すべきデータを、一時鍵生成部210で生成された一時鍵を用いて暗号化することで暗号化データを生成する。また、暗号化/復号化部204は、データ送受信部202で受信された暗号化データを、一時鍵生成部210で生成された一時鍵を用いてコマンドなどのデータに復号化する。なお、暗号化ロジックとしては、共通鍵暗号方式であればいずれの方式であっても採用することができる。このような共通鍵暗号方式の代表例としては、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)、IDEA(International Data Encryption Algorithm)、FEAL(Fast data Encipherment ALgorithm)、RC5(Ron’s Code 5)、CASTなどが知られている。
データ送受信部202は、ネットワーク上を流れるデータパケットのうち自ノード宛のデータパケットを選択的に受信して、暗号化/復号化部204またはリセット部218へ出力する。また、データ送受信部202は、送信相手リスト保持部208に保持されている送信相手リストを参照して、暗号化/復号化部204で暗号化される暗号化データを所定の宛先に送信する。
送信相手リスト保持部208は、管理ノードSN、監視カメラSC、乱数ノードRNを特定するための情報が記載された送信相手リストを保持する。本実施の形態に従うネットワークシステムでは、マルチキャストによってデータ送信されるので、送信相手リストには、マルチキャストアドレスが格納されていれば十分である。なお、この送信相手リストに、監視カメラSCや乱数ノードRNの各々を特定するためのネットワークアドレス(代表的に、IPアドレス)が格納されていてもよい。さらに、図示しないネットワークに所属する他のノード(情報処理装置)のネットワークアドレスが格納されていてもよい。
コマンド生成/読取部206は、監視カメラSCとの間でコマンドをやり取りする。具体的には、コマンド生成/読取部206は、図示しないユーザ操作などに応じて、監視カメラSCに対する任意のコマンド(命令)を生成し、暗号化/復号化部204へ出力する。また、コマンド生成/読取部206は、暗号化/復号化部204で復号されたコマンドなどを解釈し、対応する処理を実行させる。
データ作成部220は、コマンド生成/読取部206や暗号化/復号化部204での処理に必要なデータを生成する。
リセット部218は、データ送受信部202を介して後述するリセット指令を受けると、そのリセット指令の内容に従って乱数保持部214に格納される乱数をリセットする。本実施の形態では、代表的にリセット指令は所定のビット数からなる乱数(データ列)を含み、リセット部218は、この乱数を乱数保持部214に格納される値に更新する。このように乱数保持部214に格納される乱数の値がリセットされることで、この乱数を用いて生成される一時鍵についてもリセットされることになる。
なお、このような形態に代えて、リセット部218がリセット指令に応答して、乱数保持部214に格納される値を予め定められた初期値に更新するようにしてもよい。
(監視カメラの機能構成)
図4は、この発明の実施の形態1に従う監視カメラSCにおける制御構造を示す概略図である。図4に示す制御構造は、代表的に、ハードウェアおよびそのハードウェア用に設計されたファームウェアなどによって実現される。
図4を参照して、監視カメラSCの各々は、データ送受信部302と、暗号化/復号化部304と、コマンド生成/読取部306と、送信相手リスト保持部308と、一時鍵生成部310と、一時鍵更新部312と、乱数保持部314と、秘密情報保持部316と、リセット部318と、データ作成部320と、センサ処理部322と、センサ部324とをその機能として含む。
センサ部324は、CCD(Charge Coupled Device)などの撮像素子を含むカメラであり、撮影した画像データをセンサ処理部322へ順次出力する。
センサ処理部322は、センサ部324からの画像データに所定の画像処理を施してデータ作成部320へ出力する。具体的には、センサ処理部322は、管理ノードSNからのコマンドに応じて、センサ部324からの画像データの取り込み周期を変更したり、センサ部324の撮像感度などを変更したりする。
データ作成部320は、管理ノードSNとセンサ処理部322との間におけるコマンドやデータのやり取りを司る。具体的には、データ作成部320は、センサ処理部322から出力されるデータを暗号化/復号化部304へ出力し、コマンド生成/読取部306が管理ノードSNから受信したコマンドに応じて発生する内部指令をセンサ処理部322へ出力する。
データ送受信部302、暗号化/復号化部304、コマンド生成/読取部306、送信相手リスト保持部308、一時鍵生成部310、一時鍵更新部312、乱数保持部314、秘密情報保持部316、およびリセット部318については、それぞれ図3に示すデータ送受信部202、暗号化/復号化部204、コマンド生成/読取部206、送信相手リスト保持部208、一時鍵生成部210、一時鍵更新部212、乱数保持部214、秘密情報保持部216、およびリセット部218と同様の機能であるので、詳細な説明は繰返さない。
(乱数ノードの機能構成)
図5は、この発明の実施の形態1に従う乱数ノードRNにおける制御構造を示す概略図である。図5に示す制御構造は、図5に示す制御構造は、代表的に、CPU10(図2)がハードディスク部18(図2)に予め格納されたプログラムをメモリ部12(図2)に展開して実行することで実現される。
図5を参照して、乱数ノードRNは、データ送受信部102と、暗号化/復号化部104と、コマンド生成/読取部106と、送信相手リスト保持部108と、一時鍵生成部110と、一時鍵更新部112と、乱数保持部114と、秘密情報保持部116と、リセット部118と、乱数生成部120とをその機能として含む。
乱数生成部120は、暗号学的に安全な乱数を生成する。一例として、乱数生成部120は、乱数ノードRNのハードディスク部(HDD)18のシークタイム、マイク(図示しない)入力のホワイトノイズ、温度センサ(図示しない)の熱雑音などに基づいて、予測不可であり、かつ再現性のない乱数を発生する。あるいは、乱数生成部120として、専用のハードウェアを用いてもよいし、暗号学的に安全な擬似乱数を用いてもよい。
そして、乱数生成部120は、所定のタイミング(たとえば、1時間毎)に生成した乱数を含むリセット指令を管理ノードSNおよび各監視カメラSCに対してマルチキャストする。後述するように、このリセット指令によって、管理ノードSNおよび各監視カメラSCの一時鍵がリセットされる。
データ送受信部102、暗号化/復号化部104、コマンド生成/読取部106、送信相手リスト保持部108、一時鍵生成部110、一時鍵更新部112、乱数保持部114、秘密情報保持部116、およびリセット部118については、それぞれ図3に示すデータ送受信部202、暗号化/復号化部204、コマンド生成/読取部206、送信相手リスト保持部208、一時鍵生成部210、一時鍵更新部212、乱数保持部214、秘密情報保持部216、およびリセット部218と同様の機能であるので、詳細な説明は繰返さない。
(全体処理)
次に、図6〜図13を参照して、本実施の形態に従うネットワークシステムにおけるデータ送信に係る処理について説明する。一例として、管理ノードSNから各監視カメラSCに対して、所定のコマンドを送信する場合について説明する。一例として、各監視カメラSCに対して、以下に示す内容のフレームレートおよび送信方法(監視画像送信頻度)の変更を指示するコマンドを考える。
Figure 2009078217
この場合には、管理ノードSNのコマンド生成/読取部206は、たとえば、以下のようなコマンドを生成する。
Security camera command
SCC\nChange frame_rate 5fp\nChange transmission_method not_used_buffer\n\n
図6は、この発明の実施の形態1に従うネットワークシステムにおける各部の処理内容を示す模式図である。図7は、乱数ノードRNからリセット指令がマルチキャストされる処理を示す模式図である。図8は、管理ノードSNから暗号化データがマルチキャストされる処理を示す模式図である。図9は、管理ノードSNにおける処理をより詳細に示す図である。図10は、監視カメラSCの各々における処理をより詳細に示す図である。
図6および図7を参照して、まずコマンド送信前の初期状態として、乱数ノードRNから管理ノードSNおよび各監視カメラSCに対して、乱数を含むリセット指令がマルチキャストされているとする。管理ノードSNおよび各監視カメラSCは、このマルチキャストされるリセット指令を受信すると、それぞれ乱数保持部214および314に当該乱数を格納する。
図6、図8および図9を参照して、管理ノードSNは、乱数ノードRNから受信した乱数214aと、予め格納する秘密情報216aとを用いて一時鍵210aを生成し、この一時鍵210aを用いて、ユーザが入力する上述のようなコマンド206aを暗号化する。この暗号化によって生成された暗号化データ204aが各監視カメラSCへマルチキャストされる。
一方、図6、図8および図10を参照して、各監視カメラSCでは、管理ノードSNから暗号化データ204aを受信すると、乱数ノードRNから受信した乱数314aと、予め格納する秘密情報316aとを用いて一時鍵310aを生成し、この一時鍵310aを用いて、受信した暗号化データを復号化して、コマンド304aを生成する。コマンド生成/読取部306は、復号されたコマンド304aを受け取ると、このコマンド304aに従ってセンサ処理部322に指令を与え、センサ部324を所定の状態に制御する。すなわち、センサ処理部322は、上述のように、センサ部324のフレームレートおよび送信方法を変更する。
ここで、管理ノードSNが暗号化処理に使用する一時鍵210aおよび監視カメラSCが復号化処理に用いる一時鍵310aは、共通のルールに従って生成される。本実施の形態では、一例として、それぞれ乱数214a,314aと秘密情報216a,316aとの排他的論理和(XOR)を用いて一時鍵210a,310aが生成される。
より具体的には、図6に示すように、乱数214a,314aの値がいずれも2進10ビットのデータ列「1010000100」であり、秘密情報216a,316aの値がいずれも2進10ビットのデータ列「0010010010」である場合には、両者の排他的論理和は以下のようになる。
(1010000100).XOR.(0010010010)
=1000010110
したがって、この排他的論理和の値が一時鍵210a,310aの値として採用される。
なお、一時鍵の生成方法としては、排他的論理和を用いる方法以外にも、乱数214a,314aを鍵としてそれぞれ秘密情報216a,316aを暗号化した結果を一時鍵にする方法や、秘密情報216a,316aを鍵としてそれぞれ乱数214a,314aを暗号化した結果を一時鍵にする方法などを用いてもよい。
また、上述の説明では、簡単化のために、2進10ビットのデータ列を用いる場合について例示したが、十分な秘匿性を確保するためには、128ビット〜512ビット程度以上が好ましい。
次に、管理ノードSNおよび各監視カメラSCは、一時鍵を用いて一回の暗号化/復号化を行なうと、次の暗号化/復号化に用いるために一時鍵を更新する。
図9に示すように、管理ノードSNでは、一時鍵更新部212が、乱数保持部214から読み出した乱数214aの値を所定の規則に従って更新し、その更新後の値を乱数保持部214へ再度書き込む。同様に、図10に示すように、各監視カメラSCでは、一時鍵更新部312が、乱数保持部314から読み出した乱数314aの値を所定の規則に従って更新し、その更新後の値を乱数保持部314へ再度書き込む。
ここで、一時鍵更新部212および312が一時鍵を更新する規則は両者の間で共通となっている。一時鍵更新部212および312が一時鍵を更新する際に適用される規則の代表例として、本実施例では乱数をインクリメントする構成について例示する。
図11は、この発明の実施の形態1における一時鍵の更新処理を説明するための図である。
図11を参照して、一時鍵更新部212および312は、それぞれ乱数保持部214および314から乱数を読み出し、この乱数に「1」を加算する。そして、一時鍵更新部212および312は、この加算後の乱数をそれぞれ乱数保持部214および314に再度書き込む。上述したように、本実施の形態では、一時鍵が乱数と秘密情報とに基づいて生成されるので、乱数を順次インクリメントすることで、一時鍵を順次更新することができる。
上述のような手順に従って、管理ノードSNから各監視カメラSCに対して暗号化データが送信される毎に、一時鍵が順次更新されていく。その結果、従来のような固定された共通の暗号化鍵を用いる形式に比較して、秘匿性を高めたデータ通信を行なうことができる。
図12は、この発明の実施の形態1における一時鍵の更新処理の別形態を説明するための図である。図12(A)は、デクリメントにより乱数を更新する場合を示し、図12(B)は、行入れ換えにより乱数を更新する場合を示し、図12(C)は、ビットシフトにより乱数を更新する場合を示す。
図12(A)を参照して、デクリメントにより乱数を更新する場合には、乱数保持部に格納されている乱数が読み出され、この乱数から「1」が減算される。そして、この減算後の乱数が乱数保持部214,314に再度書き込まれる。
図12(B)を参照して、行入れ換えにより乱数を更新する場合には、乱数を構成するビット列(この場合には、10ビット)が各5ビットの上位ビットと下位ビットに分離され、この上位ビットと下位ビットとがその順序を入れ換えられる。そして、この入れ換え後の乱数が乱数保持部214,314に再度書き込まれる。
図12(C)を参照して、ビットシフトにより乱数を更新する場合には、乱数を構成するビット列(この場合には、10ビット)のうち最上位ビットを除く各ビットが上位側にシフトされるとともに、この最上位ビットが最下位ビットとして挿入される。そして、このビットシフト後の乱数が乱数保持部214,314に再度書き込まれる。
上述したような乱数の更新方法以外にも、(1)前回の乱数を種として新たに乱数を発生させ、この乱数を用いる構成、(2)一方向関数(不可逆関数)に前回の乱数を入力して得られる出力を新たな乱数とする構成などを用いることもできる。さらに、上述したような規則のうち複数の規則を、乱数ノードRNなどからの指令に応じて適宜切り換えるようにしてもよい。たとえば、「乱数をインクリメントする」構成と「乱数をデクリメントする」構成とを適宜切り換えるようにしてもよい。
再度、図6および図7を参照して、管理ノードSNは、このようなデータ通信とは独立して、乱数を含むリセット指令を適宜のタイミングでマルチキャストする。このマルチキャストされた乱数を含むリセット指令を受けて、管理ノードSNおよび各監視カメラSCは、その保持する乱数を当該受信した値に更新するので、管理ノードSNおよび各監視カメラSCが暗号化に使用する一時鍵が一斉に更新されることになる。このように、一時鍵を一斉に更新することで、万が一、管理ノードSNおよび各監視カメラSCの間で一時鍵の不一致が発生しても、それを修正することができる。
なお、乱数ノードRNが乱数を含むリセット指令をマルチキャストするタイミングとしては、様々なものが考えられるが、代表的には、(1)所定の周期毎(たとえば、1時間毎)、(2)予め定められた日時、(3)管理者によるリセットの指示が与えられたタイミング、(4)ランダムなタイミング、などが挙げられる。
なお、リセット指令として乱数を送信する形態に代えて、乱数を予め定められた初期値に戻すように指示する指令を与えてもよい。この場合には、管理ノードSNおよび各監視カメラSCの一時鍵更新部212および312に予め乱数の初期値をそれぞれ格納しておき、リセット指令に応じてこの初期値をそれぞれ乱数保持部214および314へ書き込むことで実現できる。
あるいは、上述のように乱数を順次インクリメントする場合には、インクリメントの回数をカウントしておくことで、リセット指令を受けた場合に、そのカウント値を当該時点における乱数から引き算することで、乱数をリセットして初期値に戻すことができる。
(処理手順)
上述した本実施の形態に従うネットワークシステムにおけるデータ通信の処理についてまとめると、図13に示すようなフローチャートになる。
図13は、この発明の実施の形態1に従うネットワークシステムにおける処理手順を示すフローチャートである。
図13を参照して、管理ノードSNは、まず、リセット指令を受信したか否かを判断する(ステップS100)。リセット指令を受信していれば(ステップS100においてYES)、管理ノードSNは、自身の保持する乱数を当該受信したリセット指令に含まれる乱数に更新することで、乱数をリセットする(ステップS102)。
一方、リセット指令を受信していなければ(ステップS100においてNO)、管理ノードSNは、コマンド指令を受付けたか否かを判断する(ステップS104)。すなわち、管理ノードSNは、ユーザからコマンドの送信を指示されたか否かを判断する。ここで、コマンド指令を受付けていなければ(ステップS104においてNO)、ステップS100以下の処理が繰返される。
コマンド指令を受付けていれば(ステップS104においてYES)、管理ノードSNは、保持している乱数を読み出す(ステップS106)とともに、保持している秘密情報を読み出す(ステップS108)。そして、管理ノードSNは、読み出した乱数および秘密情報に基づいて一時鍵を生成し(ステップS110)、コマンド指令に対応するコマンド(データ)をこの一時鍵を使用して暗号化する(ステップS112)。さらに、管理ノードSNは、送信相手リスト読み出して(ステップS114)、マルチキャストすべき送信先(監視カメラSC)を特定し、暗号化によって生成された暗号化データをマルチキャストする(ステップS116)。暗号化データのマルチキャスト後、管理ノードSNは、保持する乱数をインクリメントして更新する(ステップS118)。そして、一連の処理は終了する。
一方、監視カメラSCは、まず、リセット指令を受信したか否かを判断する(ステップS200)。リセット指令を受信していれば(ステップS200においてYES)、監視カメラSCは、自身の保持する乱数を当該受信したリセット指令に含まれる乱数に更新することで、乱数をリセットする(ステップS202)。
一方、リセット指令を受信していなければ(ステップS200においてNO)、監視カメラSCは、管理ノードSNから暗号化データを受信したか否かを判断する(ステップS204)。ここで、暗号化データを受信してなければ(ステップS204においてNO)、ステップS200以下の処理が繰返される。
暗号化データを受信していれば(ステップS204においてYES)、監視カメラSCは、保持している乱数を読み出す(ステップS206)とともに、保持している秘密情報を読み出す(ステップS208)。そして、監視カメラSCは、読み出した乱数および秘密情報に基づいて一時鍵を生成し(ステップS210)、暗号化データをこの一時鍵を使用して復号化し(ステップS212)、この復号化によって生成されたデータ(コマンド)に基づいてコマンドに応じた処理を実行する(ステップS214)。さらに、監視カメラSCは、保持する乱数をインクリメントして更新する(ステップS216)。そして、一連の処理は終了する。
(本実施の形態における効果)
この発明の実施の形態1によれば、管理ノードSNおよび各監視カメラSCがそれぞれ独立に一時鍵を更新しながらデータ通信を行なうので、固定の暗号化鍵を用いる構成に比較して、より秘匿性の高い状態でデータ通信を行なうことができる。同時に、比較的低頻度でリセット指令をマルチキャストするだけでよいので、頻繁に鍵交換などを行なう構成に比較して、ネットワークに流れる通信量を低減できる。
また、この発明の実施の形態1によれば、リセット指令によってネットワークに所属する各装置が使用する一時鍵を一斉にリセットできるので、万が一、一部の装置が使用する一時鍵が他の装置が使用する一時鍵と異なるものとなったとしても、再度同期をとることができる。そのため、安定的にデータ通信を継続できる。
[実施の形態2]
上述の実施の形態1では、乱数ノードRNが乱数を含むリセット指令を管理ノードSNおよび各監視カメラSCへマルチキャストすることで、ネットワークシステムに所属する各装置が保持する一時鍵を一斉に更新する構成について例示した。このような構成において、たとえば新たに監視カメラSCが追加された場合などには、この追加された監視カメラSCを含めて各装置が保持する一時鍵を一斉に更新することが好ましい。以下、本実施の形態では、このような場合の処理について説明する。
図14は、監視カメラSC81が追加された場合の処理を示す模式図である。
図14を参照して、監視カメラSC81が追加された後、ユーザが当該追加された監視カメラSCに対して操作を行なうことで、リセット要求が管理ノードSN、乱数ノード、各監視カメラSCへマルチキャストされる。管理ノードSN、乱数ノードRN、各監視カメラSCは、このリセット要求を受信すると、保持している乱数を破棄する。また、乱数ノードRNは、このリセット要求に応答して、新たな乱数を含むリセット指令を管理ノードSNおよび各監視カメラSC(監視カメラSC81を含む)へマルチキャストする(図7参照)。管理ノードSNおよび各監視カメラSCは、このマルチキャストされた乱数を新たに乱数保持部へ格納し、暗号化/復号化処理を継続する。
なお、管理ノードSNおよび各監視カメラSCは、リセット要求を受信した後から乱数を含む新たなリセット指令を受信するまでの間、暗号化/復号化処理を中断することが望ましい。あるいは、リセット要求が受信されると、管理ノードSNおよび各監視カメラSCで保持される乱数を初期値に戻すようにしてもよい。また、リセット要求が受信された場合において、管理ノードSN、乱数ノードRN、各監視カメラSCが互いにSSL(Secure Socket Layer)通信を行なって、秘密情報を更新してもよい。
上述の例では、追加された監視カメラSC81に対してユーザ操作が行われることで、リセット要求がマルチキャストされる構成について例示したが、その他の条件に従ってリセット要求をマルチキャストするようにしてもよい。たとえば、(1)各監視カメラがネットワークに新たに接続されたことを検出してリセット要求を送信、(2)乱数ノードRNから乱数を含むリセット指令を受信してから所定期間経過後、(3)予め定められた日時、(4)前回のリセット要求の送信から所定期間経過後、(5)管理者によるリセットの指示が与えられたタイミング、などが挙げられる。
なお、その他の構成および処理などについては、上述の実施の形態1と同様であるので、詳細な説明は繰返さない。
(本実施の形態における効果)
この発明の実施の形態2によれば、上述の実施の形態1における効果に加えて、ネットワークに所属する装置の増減または変更があった場合であっても、暗号化された状態でのデータ通信を継続することができる。
[実施の形態3]
上述の実施の形態1では、管理ノードSNから各監視カメラSCへ暗号化データがマルチキャストされる構成について説明したが、一部の監視カメラSCがパケットの破損などによって暗号化データを完全には受信できなことも想定される。本実施の形態では、図15〜図21を参照して、一部の監視カメラSCが暗号化データの受信を失敗した場合であっても通信を継続できる構成について説明する。
図15は、監視カメラSC79およびSC80が暗号化データの受信に失敗した場合を示す模式図である。
図15を参照して、一例として、管理ノードSNから各監視カメラSCに対して暗号化データがマルチキャストされた場合に、監視カメラSC79およびSC80がその暗号化データの受信に失敗した場合を考える。この場合において、監視カメラSC79およびSC80を除く各監視カメラSCおよび管理ノードSNでは、当該暗号化データの送信処理および受信処理が完了しているので、一時鍵を生成するための乱数が更新されている。すなわち、監視カメラSC79およびSC80が保持する乱数(一時鍵)は、管理ノードSNおよび他の監視カメラSCの保持する値とは異なったものとなっている。そのため、管理ノードSNがその後に新たな暗号化データを各監視カメラSCにマルチキャストした場合において、監視カメラSC79およびSC80は当該新たな暗号化データを復号化することができず、それ以降の暗号化データについても同様に復号化できない。
そこで、各監視カメラSCが暗号化データを受信したことを管理ノードSNに通知することが好ましい。
図16は、この発明の実施の形態3に従うネットワークシステムにおける受信確認の通知に係る処理内容を示す模式図である。なお、図16では、図15に示す状態における処理を示している。図17は、この発明の実施の形態3に従うネットワークシステムにおける暗号化データの再送処理を示す模式図である。
図16を参照して、監視カメラSC1〜SC80のうち、暗号化データの受信に失敗した監視カメラSC79およびSC80を除く各監視カメラSC1〜SC78は、暗号化データを受信すると、この受信を通知するための受信確認を管理ノードSNへ送信する。なお、この受信確認の通知は、各監視カメラSCのデータ送受信部302(図4)が実行する。
管理ノードSNは、暗号化データのマルチキャストの宛先である監視カメラSC1〜SC80のすべてから受信確認が通知された場合に、暗号化データの送信の処理を完了する。もし、いずれかの監視カメラSC(図16の場合には、監視カメラSC79,SC80)から所定期間内に受信確認を通知されなかった場合には、図17に示すように、暗号化データを再度マルチキャストする。
なお、管理ノードSNでは、マルチキャストの宛先である監視カメラSCのすべてから受信確認が通知されるまで、一旦送信した暗号化データを保持しておいてもよいし、監視カメラSCのすべてからは受信確認が通知されなかったと判断された場合に、再度同一の一時鍵を用いて暗号化データを生成してもよい。処理速度の観点からは、前者の方法が好ましい。
図18および図19を参照して、同一の暗号化データが複数回にわたってマルチキャストされた場合の処理について説明する。
図18は、同一の暗号化データが複数回にわたってマルチキャストされた場合における監視カメラSCにおける処理を示す図である。図18(A)は、最初の暗号化データの受信に成功した監視カメラSC1における処理を示し、図18(B)は、最初の暗号化データの受信に失敗した監視カメラSC80における処理を示す。図19は、図18に示す処理によって生じる結果を示す模式図である。
図18(A)および図19を参照して、最初の暗号化データの受信に成功した監視カメラSC1では、最初の暗号化データの受信によって、その保持する乱数がすでに更新(インクリメント)されている。すなわち、最初の暗号化データの受信時における一時鍵と異なる一時鍵に更新されている。そのため、最初の暗号化データと同じ暗号化データが再送されると、暗号化に用いられた一時鍵(この場合には、「1000010110」)とは異なる一時鍵(この場合には、「1000010111」)を用いて復号化を行なおうとするので、復号化に失敗する。その結果、最初の暗号化データ(コマンド)に応じた処理が繰返し実行されることを回避することができる。また、復号化に失敗するので、現在保持している乱数がさらに更新されることもない。
一方、図18(B)および図19を参照して、最初の暗号化データの受信に失敗した監視カメラSC80では、その保持する乱数に対する更新(インクリメント)はなされていない。すなわち、最初の暗号化データの受信時における一時鍵と同じ一時鍵を維持している。そのため、最初の暗号化データと同じ暗号化データが再送されると、暗号化に用いられた一時鍵(この場合には、「1000010110」)とは同じ一時鍵を用いて復号化を行なうので、正しい復号を行なうことができる。その結果、暗号化データ(コマンド)に応じた処理が正しく実行されるとともに、この復号化の成功によって、乱数が更新(インクリメント)されるので、他の監視カメラSCが保持する乱数(一時鍵)と同じ値を維持することができる。
上述したように、一部の監視カメラSCが暗号化データの受信に失敗し、管理ノードSNが同一の暗号化データを再送する場合であっても、各監視カメラSCでは、同一の暗号化データに応じた処理が1回だけ実行されることになる。
このような構成に伴って、いわゆる悪意をもった部外者による再生攻撃に対する防御方法としても有効である。「再生攻撃」とは、ネットワークに流れるコマンド(暗号化データ)を盗聴し、同じコマンドを再度ネットワークに流すような攻撃である。たとえば、「監視カメラの向きを上向きに5°だけ変更せよ」とのコマンドを暗号化した暗号化データが盗聴された場合を考える。この盗聴された暗号化データからコマンドを解読することは困難であるし、たとえコマンドを解読できたとしても、本発明に係るネットワークシステムのように一時鍵が随時更新される構成では、解読したコマンドを暗号化することも事実上、不可能である。
しかしながら、この盗聴した暗号化データを多数回に亘って再送することで、ネットワークの管理者が意図しない処理が行なわれてしまうおそれがある。すなわち、上述のような暗号化データを17回再送されてしまうと、「監視カメラの向きを上向きに5°だけ変更せよ」とのコマンドに応じた動作が、本来の暗号化データを含めて合計18回実行されることになる。その結果、監視カメラの向きは、5°×18回=90°の変更を生じる。すなわち、再生攻撃を受けると、「監視カメラの向きを上向きに5°だけ変更せよ」とのコマンドが、実質的に「監視カメラの向きを上向きに90°だけ変更せよ」と同等のコマンドが与えられたことに相当してしまう。
しかしながら、上述したように、本実施の形態に従うネットワークシステムにおいては、各監視カメラSCが同一の暗号化データに応じた処理を1回だけ実行するので、このような再生攻撃に対しても防御することができる。
なお、最初の暗号化データの受信に失敗した、すなわち受信確認を受信できなかった監視カメラSCに対して、最初の暗号化データとは異なるコマンドを含む暗号化データを送信してもよい。この場合にも、最初の暗号化データと、再送される暗号化データとは、同じ一時鍵を用いて暗号化される。
これは、マルチキャストされた暗号化データを受信できなかった監視カメラSCについては、当該監視カメラSC自体あるいは当該監視カメラSCまでのネットワーク経路に障害がある場合が想定される。そのため、最初の暗号化データに含まれていたコマンドに、このような障害をチェックするためのコマンドを加えたデータを暗号化することで、再送すべき暗号化データを生成してもよい。上述したように、最初の暗号化データとは異なるコマンドを含む暗号化データを再送した場合であっても、これらの暗号化データを同一の一時鍵を用いて生成している以上、最初の暗号化データの受信に失敗した監視カメラSCだけがこの再送される暗号化データを復号化するので、最初の暗号化データの受信に成功した監視カメラSCに対して何らの影響も与えない。
(処理手順)
上述した本実施の形態に従う管理ノードSNにおけるデータ通信の処理についてまとめると、図20および図21に示すようなフローチャートになる。
図20は、この発明の実施の形態3に従う管理ノードSNにおける暗号化データ送信の処理手順を示すフローチャートである。図21は、この発明の実施の形態3に従う各監視カメラSCにおける暗号化データ受信の処理手順を示すフローチャートである。
図20を参照して、管理ノードSNは、まず、リセット指令を受信したか否かを判断する(ステップS300)。リセット指令を受信していれば(ステップS300においてYES)、管理ノードSNは、自身の保持する乱数を当該受信したリセット指令に含まれる乱数に更新することで、乱数をリセットする(ステップS302)。
一方、リセット指令を受信していなければ(ステップS300においてNO)、管理ノードSNは、コマンド指令を受付けたか否かを判断する(ステップS304)。すなわち、管理ノードSNは、ユーザからコマンドの送信を指示されたか否かを判断する。ここで、コマンド指令を受付けていなければ(ステップS304においてNO)、ステップS300以下の処理が繰返される。
コマンド指令を受付けていれば(ステップS304においてYES)、管理ノードSNは、保持している乱数を読み出す(ステップS306)とともに、保持している秘密情報を読み出す(ステップS308)。そして、管理ノードSNは、読み出した乱数および秘密情報に基づいて一時鍵を生成し(ステップS310)、コマンド指令に対応するコマンド(データ)をこの一時鍵を使用して暗号化する(ステップS312)。さらに、管理ノードSNは、送信相手リスト読み出して(ステップS314)、マルチキャストすべき送信先(監視カメラSC)を特定し、暗号化によって生成された暗号化データをマルチキャストする(ステップS316)。
暗号化データの送信先である監視カメラSCのすべてから受信確認を受信したか否かを判断する(ステップS318)。監視カメラSCのすべてからは受信確認を受信できなかった場合(ステップS318においてNOの場合)には、管理ノードSNは、所定期間だけ待機(ステップS320)した後、暗号化データを再度マルチキャストする(ステップS316)。以下、ステップS318の処理が繰返される。
一方、監視カメラSCのすべてから受信確認を受信できた場合(ステップS318においてYESの場合)には、管理ノードSNは、保持する乱数をインクリメントして更新する(ステップS322)。そして、一連の処理は終了する。
なお、ステップS318を所定回数(たとえば、3回)だけ実行しても、監視カメラSCのすべてからは受信確認を受信できなかった場合には、宛先の監視カメラSCの故障なども考えられるので、ステップS318の処理を無視して、ステップS320以降の処理を実行するようにしてもよい。このような処理を行なったとしても、応答の無かった監視カメラSCの機能が正常に戻り、乱数ノードRNから乱数を含むリセット指令がマルチキャストされることで、当該監視カメラの機能は正常化する。
図21を参照して、監視カメラSCは、まず、リセット指令を受信したか否かを判断する(ステップS400)。リセット指令を受信していれば(ステップS400においてYES)、監視カメラSCは、自身の保持する乱数を当該受信したリセット指令に含まれる乱数に更新することで、乱数をリセットする(ステップS402)。
一方、リセット指令を受信していなければ(ステップS400においてNO)、監視カメラSCは、管理ノードSNから暗号化データを受信したか否かを判断する(ステップS404)。ここで、暗号化データを受信してなければ(ステップS404においてNO)、ステップS400以下の処理が繰返される。
暗号化データを受信していれば(ステップS404においてYES)、監視カメラSCは、保持している乱数を読み出す(ステップS406)とともに、保持している秘密情報を読み出す(ステップS408)。そして、監視カメラSCは、読み出した乱数および秘密情報に基づいて一時鍵を生成し(ステップS410)、暗号化データをこの一時鍵を使用して復号化する(ステップS412)。さらに、監視カメラSCは、復号化が成功したか否かを判断する(ステップS414)。
復号化が成功した場合(ステップS414においてYESの場合)には、監視カメラSCは、この復号化によって生成されたデータ(コマンド)に基づいてコマンドに応じた処理を実行する(ステップS416)。さらに、監視カメラSCは、保持する乱数をインクリメントして更新する(ステップS418)。そして、一連の処理は終了する。
一方、復号化が失敗した場合(ステップS414においてNOの場合)には、以後の処理は行なわない。
なお、その他の構成および処理などについては、上述の実施の形態1と同様であるので、詳細な説明は繰返さない。
(本実施の形態における効果)
この発明の実施の形態3によれば、上述の実施の形態1における効果に加えて、必要な監視カメラSC以外には影響を与えることなく、暗号化データをマルチキャストで再送できる。すなわち、上述したように、一旦暗号化データの受信が成功した監視カメラSCでは、乱数(すなわち、一時鍵)が更新されるので、同じ一時鍵を使用して生成された暗号化データを複数回受信しても、最初の1回だけが有効となる。そのため、各監視カメラSCに対して、確実に暗号化データを送信することができる。
また、この発明の実施の形態3によれば、上述したような再生攻撃に対しても有効な防御方法を提供できる。
[実施の形態3の変形例]
上述の実施の形態3では、管理ノードSNは、すべての監視カメラSCから受信確認を受信しない限り、自身の保持する乱数を更新しない構成について例示した(図20)が、一旦暗号化データを作成した時点で、この乱数を更新するようにしてもよい。
図22は、この発明の実施の形態3の変形例に従う管理ノードSNにおける暗号化データ送信の処理手順を示すフローチャートである。
図22を参照して、管理ノードSNは、まず、リセット指令を受信したか否かを判断する(ステップS500)。リセット指令を受信していれば(ステップS500においてYES)、管理ノードSNは、自身の保持する乱数を当該受信したリセット指令に含まれる乱数に更新することで、乱数をリセットする(ステップS502)。
一方、リセット指令を受信していなければ(ステップS500においてNO)、管理ノードSNは、コマンド指令を受付けたか否かを判断する(ステップS504)。すなわち、管理ノードSNは、ユーザからコマンドの送信を指示されたか否かを判断する。ここで、コマンド指令を受付けていなければ(ステップS504においてNO)、ステップS500以下の処理が繰返される。
コマンド指令を受付けていれば(ステップS504においてYES)、管理ノードSNは、保持している乱数を読み出す(ステップS506)とともに、保持している秘密情報を読み出す(ステップS508)。そして、管理ノードSNは、読み出した乱数および秘密情報に基づいて一時鍵を生成し(ステップS510)、コマンド指令に対応するコマンド(データ)をこの一時鍵を使用して暗号化する(ステップS512)。さらに、管理ノードSNは、送信相手リスト読み出して(ステップS514)、マルチキャストすべき送信先(監視カメラSC)を特定し、暗号化によって生成された暗号化データをマルチキャストする(ステップS516)。また、管理ノードSNは、保持する乱数をインクリメントして更新する(ステップS518)。
続いて、管理ノードSNは、暗号化データの送信先である監視カメラSCのすべてから受信確認を受信したか否かを判断する(ステップS520)。監視カメラSCのすべてからは受信確認を受信できなかった場合(ステップS520においてNOの場合)には、暗号化データを再度マルチキャストし(ステップS522)、所定期間だけ待機(ステップS524)する。その後、再度、ステップS520の処理が実行される。
一方、監視カメラSCのすべてから受信確認を受信できた場合(ステップS520においてYESの場合)には、処理は終了する。
なお、その他の構成および処理などについては、上述の実施の形態3と同様であるので、詳細な説明は繰返さない。
この発明の実施の形態3の変形例によれば、上述の実施の形態1における効果に加えて、すべての監視カメラSCから受信確認を受信するまで次の暗号化データ送信が待機されるので、より確実に監視カメラSCの各々に暗号化データを送信することができる。
[その他の実施の形態]
上述の実施の形態では、管理ノードSNがデータ送信側であり、各監視カメラSCがデータ受信側である時点の動作について例示したが、各監視カメラSCが管理ノードSNへ画像データを送信する処理を並行して実行することも可能である。
また、上述の実施の形態では、ネットワーク上に管理ノードSNとは別に乱数ノードRNを設ける構成について例示したが、この乱数ノードRNの機能を管理ノードSN内またはいずれかの監視カメラSCに実装してもよい。あるいは、乱数を含むリセット指令を管理ノードSNおよび各監視カメラSCにマルチキャストできれば、必ずしも同一のネットワークに接続されている必要もない。
また、乱数ノードRNは、リセット指令として、乱数に代えて、もしくは乱数とともに、管理ノードSNおよび各監視カメラSCが保持する乱数を更新するための規則を一斉に変更するためのコマンドや乱数を予め定められた初期値にリセットするためのコマンドを含んでいてもよい。
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼び出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明に係るプログラムに含まれ得る。
また、本発明に係るプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明に係るプログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。

Claims (9)

  1. ネットワークシステムであって、
    第1情報処理装置(SN)と、
    少なくとも1つの第2情報処理装置(SC)とを備え、前記第1情報処理装置は前記少なくとも1つの第2情報処理装置へデータ送信可能であり、
    前記第1情報処理装置は、
    送信すべきデータを一時鍵を用いて暗号化することで暗号化データを生成するための暗号化部(204)と、
    前回の暗号化処理で用いられた一時鍵を所定規則に従って更新したうえで、引き続く暗号化処理に使用させる第1更新部(212)とを含み、
    前記少なくとも1つの第2情報処理装置の各々は、
    前記第1情報処理装置から受信する暗号化データを一時鍵を用い復号化するための復号化部(304)と、
    前回の復号化処理で用いられた一時鍵を前記所定規則に従って更新したうえで、引き続く復号化処理に使用させる第2更新部(312)とを含み、
    前記第1情報処理装置および前記少なくとも1つの第2情報処理装置の各々は、リセット指令に応答して、前記一時鍵を所定値に更新する第3更新部(210,310)をさらに含む、ネットワークシステム。
  2. 前記第1情報処理装置および前記少なくとも1つの第2情報処理装置の各々は、第1データ列を含む共通の秘密情報を予め格納しており、
    前記リセット指令は、第2データ列を含み、
    前記第3更新部は、前記一時鍵を、前記第1データ列と前記リセット指令に含まれる前記第2データ列とに基づいて生成される値に更新する、請求の範囲第1項に記載のネットワークシステム。
  3. 前記リセット指令に含まれる前記第2データ列は、乱数として生成される、請求の範囲第2項に記載のネットワークシステム。
  4. 前記第3更新部は、前記リセット指令に応答して前記一時鍵を予め定められた初期値に更新する、請求の範囲第1項に記載のネットワークシステム。
  5. 前記第1情報処理装置および前記少なくとも1つの第2情報処理装置の各々へ前記リセット指令を送信するための第3情報処理装置(RN)をさらに備える、請求の範囲第1項に記載のネットワークシステム。
  6. 前記少なくとも1つの第2情報処理装置の各々は、前記第1情報処理装置からの前記暗号化データを受信した場合に、前記第1情報装置に当該暗号化データの受信確認を通知し、
    前記第1更新部は、前記暗号化データを送信後、当該暗号化データについての前記受信確認を前記少なくとも1つの第2の情報処理装置のすべてから受信した場合に、前記一時鍵を更新する、請求の範囲第1項に記載のネットワークシステム。
  7. 前記少なくとも1つの第2情報処理装置の各々は、前記第1情報処理装置からの前記暗号化データを受信した場合に、前記第1情報装置に当該暗号化データの受信確認を通知し、
    前記暗号化部は、前記暗号化データを送信後、当該暗号化データについての前記受信確認を前記少なくとも1つの第2情報処理装置のすべてから受信した場合に、次に送信すべきデータを暗号化する、請求の範囲第1項に記載のネットワークシステム。
  8. 前記第1更新部は、前記一時鍵および前記一時鍵の生成に用いるデータの少なくとも一方を、インクリメント、デクリメント、行入れ換え、ビットシフトの少なくとも1つを含む処理によって、前記一時鍵を更新する、請求の範囲第1項に記載のネットワークシステム。
  9. 第1情報処理装置(SN)と少なくとも1つの第2情報処理装置(SC)とを含むネットワークシステムにおいて、前記第1情報処理装置から前記少なくとも1つの第2情報処理装置へデータを送信する方法であって、
    前記第1情報処理装置が、送信すべきデータを一時鍵を用いて暗号化した暗号化データを前記少なくとも1つの第2情報処理装置へ送信するステップ(S112,S114,S116)と、
    前記少なくとも1つの第2情報処理装置の各々が、前記第1情報処理装置から受信した暗号化データを一時鍵を用い復号化するステップ(S212,S214)と、
    前記第1情報処理装置が、暗号化に用いた一時鍵を所定規則に従って更新するステップ(S118,S106,S108,S110)と、
    前記少なくとも1つの第2情報処理装置の各々が、復号化に用いた一時鍵を所定規則に従って更新するステップ(S216,S206,S208,S210)と、
    前記少なくとも1つの第2情報処理装置の各々が、リセット指令に応答して、各々が保持する前記一時鍵を所定値に更新するステップ(S100,S102,S106,S108,S110;S200,S202,S206,S208,S210)とを備える、データ送信方法。
JP2009546178A 2007-12-19 2008-10-20 ネットワークシステムおよびデータ送信方法 Pending JPWO2009078217A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007327285 2007-12-19
JP2007327285 2007-12-19
PCT/JP2008/068945 WO2009078217A1 (ja) 2007-12-19 2008-10-20 ネットワークシステムおよびデータ送信方法

Publications (1)

Publication Number Publication Date
JPWO2009078217A1 true JPWO2009078217A1 (ja) 2011-04-28

Family

ID=40795336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009546178A Pending JPWO2009078217A1 (ja) 2007-12-19 2008-10-20 ネットワークシステムおよびデータ送信方法

Country Status (2)

Country Link
JP (1) JPWO2009078217A1 (ja)
WO (1) WO2009078217A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5974506B2 (ja) * 2012-01-30 2016-08-23 株式会社三洋物産 遊技機
JP5974503B2 (ja) * 2012-01-30 2016-08-23 株式会社三洋物産 遊技機
JP5974504B2 (ja) * 2012-01-30 2016-08-23 株式会社三洋物産 遊技機
JP5974507B2 (ja) * 2012-01-30 2016-08-23 株式会社三洋物産 遊技機
JP5974505B2 (ja) * 2012-01-30 2016-08-23 株式会社三洋物産 遊技機
JP5974502B2 (ja) * 2012-01-30 2016-08-23 株式会社三洋物産 遊技機
US9182943B2 (en) * 2013-03-08 2015-11-10 Qualcomm Incorporated Methods and devices for prime number generation
US11349668B2 (en) 2017-02-21 2022-05-31 Mitsubishi Electric Corporation Encryption device and decryption device
WO2019012956A1 (ja) * 2017-07-11 2019-01-17 株式会社Seltech センシング装置、センシングシステム、およびサーバ
WO2020017031A1 (ja) * 2018-07-20 2020-01-23 オリンパス株式会社 無線通信装置、無線通信システム、無線通信方法およびプログラム
CN111130805B (zh) * 2019-12-28 2022-09-06 飞天诚信科技股份有限公司 安全传输方法、电子设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319673A (ja) * 1996-05-27 1997-12-12 Matsushita Electric Works Ltd 暗号鍵更新方法およびそのシステム
JP2001285278A (ja) * 2000-03-29 2001-10-12 Murata Mach Ltd 暗号通信方法及び暗号通信システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09200197A (ja) * 1996-01-12 1997-07-31 Nec Corp 同期式ストリーム暗号装置およびその装置に適用される復号器
JPH1022994A (ja) * 1996-07-04 1998-01-23 Hitachi Ltd 暗号化装置および復号化装置、暗号化方法および復号化方法、ならびにそれらを用いた通信システム
DE69939254D1 (de) * 1999-06-22 2008-09-18 Hitachi Ltd Kryptografisches Gerät und Verfahren
US7706532B2 (en) * 2003-07-14 2010-04-27 Sony Corporation Encryption/decryption device and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319673A (ja) * 1996-05-27 1997-12-12 Matsushita Electric Works Ltd 暗号鍵更新方法およびそのシステム
JP2001285278A (ja) * 2000-03-29 2001-10-12 Murata Mach Ltd 暗号通信方法及び暗号通信システム

Also Published As

Publication number Publication date
WO2009078217A1 (ja) 2009-06-25

Similar Documents

Publication Publication Date Title
JPWO2009078217A1 (ja) ネットワークシステムおよびデータ送信方法
US8121284B2 (en) Information processing system, information processing method, and information processing program
JP5454673B2 (ja) 通信装置、プログラムおよび方法
CN109565510B (zh) 使用随机加密密码本加密法进行安全通信的系统和方法
JP4883219B2 (ja) ノード装置及びプログラム
JP5526747B2 (ja) 復号化装置、暗号化装置、復号化方法、暗号化方法、および通信システム
JP5167374B2 (ja) データ暗号化装置、及び、メモリカード
JP4596256B2 (ja) 送受信システムおよび方法、送信装置および方法、受信装置および方法、並びにプログラム
US20060008082A1 (en) System and method for securing communications between devices
US10411889B2 (en) Chaotic-based synchronization for secure network communications
JP2007329688A (ja) データ処理装置およびその方法
JP6473876B2 (ja) セキュアネットワーク通信方法
JP5043421B2 (ja) 情報処理装置およびその方法
JP2011151689A (ja) 情報処理装置および情報処理方法
CN116614266A (zh) 数据传输方法、装置、设备及存储介质
KR102406252B1 (ko) 데이터의 보안 통신 방법
JP2007041756A (ja) 情報処理装置および方法、プログラム、並びに、セキュリティチップ
JP5491713B2 (ja) 暗号化装置、暗号化プログラム及び方法
WO2007043002A2 (en) Improved security system
US9178855B1 (en) Systems and methods for multi-function and multi-purpose cryptography
Yu et al. A lightweight secure data transmission protocol for resource constrained devices
JP2010081108A (ja) 通信中継装置、情報処理装置、プログラム、及び通信システム
JP2010219883A (ja) 画像形成装置および画像形成方法
US9189638B1 (en) Systems and methods for multi-function and multi-purpose cryptography
JP5423308B2 (ja) 通信端末装置、通信処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130820