説明

システム、暗号処理装置

【課題】 暗号通信コネクション数の増加と、重要度の高い暗号通信コネクションの復号速度の維持とを両立することを目的とする。
【解決手段】 撮像装置は、画像データの重要度を判定し、IPsecプロトコルに基づくパケット通信により画像データと当該画像データの重要度を示す値を表示装置に送信する。表示装置は、重要度の高い画像伝送に対応するSAをSRAMに優先的に保持する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の暗号通信接続を同時並行的に確立し、暗号処理を行う暗号処理技術に関する。
【背景技術】
【0002】
通信端末間を安全な専用回線で接続するのと同様のセキュリティを確保できる通信技術として、IPsec (IP Security Protocol)プロトコルなどが実用化されている。
IPsecプロトコルを用いた暗号通信の接続においては、送信側と受信側で暗号アルゴリズムや暗号鍵などの情報を共有しなければならない。これらの情報は、セキュリティアソシエーション(以下SAとする)と呼ばれており、暗号アルゴリズムや暗号鍵の他に、イニシャルベクタなどの情報を含むデータコンテクストとして送信端及び受信端の装置で管理されている。SAのコンテクストはIPsecのRFCとして標準化されており、暗号処理装置は送信端と受信端で共有されたSAをパケット毎に参照しながら暗号化及び復号化を行う。
一方、多数の暗号通信コネクションを高速に処理する手法として、例えば暗号処理回路を複数個並列に構成し、複数の暗号通信コネクションを同時に処理する方法がある。しかしながら、暗号通信コネクション数に応じて暗号処理回路を増加することは、回路面積や消費電力の観点から現実的な解決策とは言えない。そのため、複数の暗号通信コネクションに対するパケットを、一つの暗号処理回路で時分割多重処理して対応することが多い。
ここで、IPsecを用いた暗号通信処理を時分割多重で実行した場合、何らかの記憶領域からパケット毎に異なるSAを随時読み出す必要がある。このSAの読み出し速度が低速である場合には、それが暗号通信処理全体のボトルネックになってしまう。特にシステム全体で共有する共有メモリにSAを配置した場合には、SAを読み出すための遅延時間が大きくなり、暗号通信処理の処理性能が低下するという課題がある。
この課題を解決する一手段として、高速な読み出しが可能な専用メモリ領域にSAを配置することが考えられる。例えば、暗号処理装置がCPU、専用ハードウェア装置で構成される場合には、何れもが、高速に読み出し可能なキャッシュ・メモリ(以下キャッシュとする)にSAを配置する(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−096178号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
通常の組み込みシステムにおいてキャッシュはSRAMとして実装されるが、チップコスト低減の観点からキャッシュ容量は極力小さく抑える必要がある。このため、暗号通信コネクション数が増加した場合、全てのSAをキャッシュに収めることができず、共有メモリにも配置する必要が生じる場合がある。ここで、もし高速な復号化が必要な重要度の高い暗号通信コネクションがあったとしても、当該暗号通信コネクションに対応するSAが共有メモリに配置されていた場合、その復号化を所望の時間内に終えられなくなる可能性が高まるという課題がある。
そこで本発明は、暗号通信コネクション数の増加と、重要度の高い暗号通信コネクションの復号速度の維持とを両立することを目的とする。
【課題を解決するための手段】
【0005】
本発明のシステムは、暗号化された情報を送信装置から受信装置へ伝送するシステムであって、前記送信装置は、伝送する情報の重要度を判定する重要度判定手段と、前記伝送する情報と前記重要度情報とを暗号化する暗号化手段と、前記暗号化された情報を送信する送信手段と、前記受信装置は、前記暗号化された情報と重要度情報を受信する受信手段と、前記暗号化された情報と重要度情報の復号化を行う復号化手段と、前記暗号化された情報を復号する際に用いる情報を記憶する第一の記憶手段及び第二の記憶手段と、前記重要度情報を用いて、前記復号する際に用いる情報を、前記第一の記憶手段に記憶するか、前記第二の記憶手段に記憶するかを制御する制御手段を有し、前記第1の記憶手段は、前記第二の記憶手段より、高速に読み出すことができ、前記制御手段は、重要度の高い情報に対応する前記復号する際に用いる情報を、前記第一の記憶手段を記憶するよう制御することを特徴とする。
【発明の効果】
【0006】
本発明によれば、暗号通信コネクション数の増加と、重要度の高い暗号通信コネクションの復号速度の維持とを両立することができる。
【図面の簡単な説明】
【0007】
【図1】ネットワークカメラシステムの機能構成を示すブロック図。
【図2】ネットワークカメラシステムのハードウェア構成を示すブロック図。
【図3】撮像装置102のフローチャート。
【図4】表示装置107における、SA配置制御のフローチャート。
【図5】表示装置107のフローチャート。
【発明を実施するための形態】
【0008】
まず本発明の第1の実施形態として、IPsecを用いて画像伝送を行うネットワークカメラシステムについて、図1を用いて説明する。
【0009】
図1は、本実施形態におけるネットワークカメラシステム101の構成を示している。ネットワークカメラシステム101では、撮像装置102、撮像装置103、撮像装置104、撮像装置105から、表示装置107に対してIPsecを用いて画像伝送を行う。なお、撮像装置の数は4つに限らず、増減して構わない。また、画像伝送はIPsecによる暗号化通信により行う。なお本実施形態では、暗号通信コネクションの確立および更新に伴うSAの生成と交換に関する説明は省略する。
【0010】
撮像装置102は、撮像部108と、IPsec暗号化部109と、パケット送信部110と、重要度判定部111、記憶部118とから構成される。
【0011】
撮像部108は、イメージセンサおよび画像処理回路により外部からの入射光をデジタル化し、画像データを作成する。また、当該画像データをTCP/IPあるいはUDPに準ずる形式のパケットに分割する。IPsec暗号化部109は、撮像部108および重要度判定部111が作成したパケットを、IPsecプロトコルによりあらかじめ定められた暗号化方式で暗号化する。パケット送信部110は、IPsec暗号化部109により暗号化されたパケットを伝送路106に送出する。
【0012】
重要度判定部111は、撮像部108が作成した画像の重要度を判定する。たとえば顔認識、人体検知、動体物検知といった画像認識アルゴリズムを用いることで、人体や動体物が画像中に含まれていると判断できた場合、当該画像をその他の画像より重要な画像と判定する。また、撮像装置102に画像の重要度を手動で設定する入力装置を加え、当該入力装置からの入力に従って画像の重要度を判定してもよい(図示しない)。あるいは、画像と同時に音声を伝送するネットワークカメラシステムを構築した場合、音声の有無や特徴などに応じて画像の重要度を判定してもよい(図示しない)。重要度は整数値で表すものとし、その範囲はネットワークカメラシステム101の構成に基づきあらかじめ決定する。そしてその上で、重要度判定部111は、当該重要度の値をTCP/IPあるいはUDPに準ずる形式のパケットに分割する。記憶部118は、重要度判定部111が求めた重要度に関する情報等を記憶する。
【0013】
伝送路106は、撮像装置102をはじめとする複数の撮像装置と表示装置107とを接続する伝送路である。
【0014】
撮像装置103、撮像装置104、撮像装置105は、撮像装置102と同じ構成(撮像部108と、IPsec暗号化部109と、パケット送信部110)を持つので、ここでは説明を省略する。
【0015】
表示装置107は、パケット受信部112と、IPsec復号化部113と、表示部114と、SA配置制御部115と、第一SA記憶部116と、第二SA記憶部117とから構成される。パケット受信部112は、パケット送信部110から伝送路106を介して伝送されたパケットを受信する。IPsec復号化部113は、パケット受信部112が受信したパケットについて、第一SA記憶部116あるいは第二SA記憶部117にあらかじめ記憶されたSAに基づいて当該パケットを復号化する。またIPsec復号化部113は、復号化したパケットを収集し、画像データまたは画像の重要度の値として再構成する。表示部114は、IPsec復号化部113が再構成した画像データを表示する。本実施形態では、撮像装置102およびそれと同じ構成を持つ撮像装置103、撮像装置104、撮像装置105から伝送された画像を、一台のディスプレイ上で四分割表示する形態をとる。
【0016】
SA配置制御部115は、第一SA記憶部116または第二SA記憶部117にSAを配置する。このとき、重要度判定部111が判定した画像の重要度に基づき、重要な画像を伝送するコネクションに対応するSAを、第二SA記憶部117より第一SA記憶部116に優先的に配置する。このSAの配置に関しては後述する。
【0017】
第一SA記憶部116は、SA配置制御部115から受け取ったSAを記憶する。第一SA記憶部116に記憶されたSAは、第二SA記憶部117に記憶されたSAに比べ、高速に読み出すことができる。ただし、第一SA記憶部116に記憶できるSAの数は、第二SA記憶部117に記憶できるSAの数より少ない。第二SA記憶部117は、SA配置制御部115から受け取ったSAを記憶する。第二SA記憶部117に記憶されたSAは、第一SA記憶部116に記憶されたSAに比べ、高速に読み出すことができない。ただし、第二SA記憶部117に記憶できるSAの数は、第一SA記憶部116に記憶できるSAの数より多い。
【0018】
尚、本実施形態では、表示装置107が、表示部114を有する例を説明するが、表示装置107が、表示部を持たずに、暗号処理装置として機能し、表示部を有する別の装置で、表示を行っても構わない。
【0019】
図2は、ネットワークカメラシステム101のハードウェア構成(回路ブロック)を示すブロック図である。
【0020】
撮像装置102は、イメージセンサ201、CPU202、RAM203、ROM204、通信部205、画像処理部206、タイマ207、およびこれらを接続するバス208を有する。
【0021】
イメージセンサ201は、撮影対象からイメージセンサ201に入射した可視光を検出して、デジタル画像データを生成する。CPU202は中央演算処理装置であり、アプリケーションプログラム、オペレーティングシステム(OS)や制御プログラムなどを実行し、RAM203にプログラムの実行に必要な情報、ファイルなどを一時的に格納する制御を行う。RAM203は各種データを一時記憶するための書き込み可能メモリであり、CPU202の主メモリ、ワークエリアなどとして機能する。またRAM203は、SAを記憶するためにも用いる。ROM204は読み出し専用メモリであり、内部には基本入出力プログラムなどのプログラムや、基本処理において使用する各種データを記憶する。
【0022】
通信部205は、伝送路106を介して表示装置107と通信する通信インターフェースである。また通信部205は、IPsec通信における暗号化および復号化処理をCPU202と協調動作することで実現する。画像処理部206は、CPU202と協調動作することで、生成画像に対する画像認識および動体検知処理などを行い、当該画像の重要度を判定する。タイマ207は時刻を計時する装置であり、本実施形態では画像の重要度を送信してからの経過時間を計測する計測手段として動作する。タイマ207は、例えば、水晶振動子を用いて実現することができる。バス208は、撮像装置102内のデータの流れを司るものである。
【0023】
撮像装置103、撮像装置104、撮像装置105は、撮像装置102と同じハードウェア構成であるので、ここでは説明を省略する。
【0024】
表示装置107は、CPU209、通信部210、SRAM211、DRAM212、ROM213、画像処理部214、ディスプレイ制御部215、DMAC216、およびこれらを接続するバス217を有する。
【0025】
CPU209、通信部210、DRAM212、ROM213、バス217は、それぞれ撮像装置102の、CPU202、RAM203、ROM204、通信部205、バス208と同様に動作する。SRAM211は、DRAM212のキャッシュメモリとして機能する書き込み可能メモリであり、DRAM212と比較して高速に各種データを読み出すことができる。SRAM211は、特に、高速な復号化が必要となる暗号通信コネクションに対応するSAを記憶するために用いる。画像処理部214は、撮像装置102から受信した画像を画像処理して、表示用画像を生成する。ディスプレイ制御部215は、画像処理部214が生成した表示用画像をモニタやプロジェクタなど(図示しない)に出力して表示させる。DMAC216は、CPU209の制御に基づき、通信部210、SRAM211、DRAM212、ROM213、画像処理部214、ディスプレイ制御部215の間で、画像データやSAなど各種データを転送する。
【0026】
これら各種ハードウェアやその上で動作するソフトウェアが協調動作することでネットワークカメラシステム101の機能が実現される。
【0027】
図3は、撮像装置102のフローチャートである。
【0028】
まず、ステップS300において、撮像部108が、撮像する。ステップS301において、重要度判定部111が、画像の重要度を新規に取得し、重要度に関する情報を記憶部118に記録する記憶処理を行う。
【0029】
次に、ステップS302において、重要度判定部111が、重要度に関する情報を最後に送信してから所定の時間が経過したか否かを判定する。もし所定の時間が経過していた場合(ステップS302でYES)、ステップS308に進む。一方、所定の時間が経過していない場合(ステップS302でNO)、ステップS303に進む。所定の時間は、重要度情報の更新頻度の最小値を決定した上で、ネットワークカメラシステム101のシステム構成に応じてあらかじめ定める。
【0030】
ステップS303では、重要度判定部111が、重要度の値に大きな変化があったかを示す変化情報の値が、1であるかを判定する。ここで、変化情報は、記憶部118に記憶されており、重要度に大きな変化があった場合は、1とし、大きな変化がなかった場合は、0とし、初期値は、0とする。もし、変化情報が1と記録されていた場合(ステップS303でYES)、ステップS307に進む。一方、変化情報が0と記録されていた場合(ステップS303でNO)、ステップS305に進む。
【0031】
ステップS304では、重要度判定部111が、直前に取得した重要度の値と新規に取得した重要度と値との差が所定の値を超えているか否かを判定する。もし所定の値を超えていた場合(ステップS304でYES)、ステップS305に進む。一方所定の値を超えていなかった場合(ステップS304でNO)、ステップS309に進む。所定の値は、重要度情報を送信する際の第一の条件として重要度の変化の度合いを決定した上で、ネットワークカメラシステム101のシステム構成に応じてあらかじめ定める。つまり、重要度情報を送信する際の第一の条件とは、重要度の値が大きく変動するということである。
【0032】
ステップS305では、重要度判定部111が、変化情報の値を1とする記憶処理を行う。
【0033】
ステップS306では、重要度判定部111が、直前に取得した重要度と新規に取得した重要度との値の差が所定の値以下か否かを判定する。もし所定の値以下だった場合(ステップS306でYES)、ステップS307に進む。一方所定の値以下でなかった場合(ステップS306でNO)、ステップS309に進む。所定の値は、重要度情報を送信する際の第二の条件として重要度の変化の度合いを決定した上で、ネットワークカメラシステム101のシステム構成に応じてあらかじめ定める。つまり、重要度情報を送信する際の第二の条件とは、一度大きく変動した重要度の値が再び安定するということである。ここで、ステップS304に用いる所定の値と、ステップS306で用いる所定の値は同じであってもよいし、異なってもよい。いずれの場合も、予め、撮像装置(送信装置)と、表示装置(受信装置)との間で、定めているものとする。
【0034】
ステップS307では、IPSec暗号化部109が、新規に取得した重要度情報と画像データを暗号化する暗号処理を行う。また、重要度判定部111が、記憶部118に記憶されている変化情報を0とする。ステップS308では、パケット送信部110が、暗号化された重要度情報と画像データを送信する。
【0035】
ステップS309では、IPSec暗号化部109が、撮像データを暗号化する暗号処理を行う。ステップS310では、パケット送信部110が、暗号化された画像データを送信する。ステップS311では、撮像部108が、撮像終了かどうかを判定する。撮影終了と判定された場合(ステップS311でYES)、処理を終了し、撮影終了と判定されなかった場合(ステップS311でNO)、ステップS300に戻る。
【0036】
このように、撮像装置102は、画像データとともに、画像の重要度を、その変化の度合いが大きい場合に限って暗号化して送信する。画像の重要度の送信を必要十分な頻度に抑えることで、伝送路106に流れるデータ量を減らし、後述のSA配置に関する処理の実行回数を減らすことができる。
【0037】
図5は、表示装置107における、復号処理のフローチャートである。
【0038】
ステップS501は、パケット受信部112が、IPSed暗号化された画像データと重要度を受信する。ステップS502は、IPSec復号化部113が、IPSed暗号化された画像データと重要度を、第一SA記憶部116あるいは第二SA記憶部117に記憶されたSAを用いて、復号する。ステップS503は、SA配置制御部115が、復号された重要度の値に応じて、SAの配置制御を行う。ステップS504は、表示部114は、復号された画像データを、表示する。
【0039】
図4は、重要度の値に応じて、SAの配置制御を行うフローチャートである。
【0040】
ステップS401において、SA配置制御部115は、IPsec復号化部113から復号された画像の重要度を取得する。
【0041】
次に、ステップS402において、SA配置制御部115は、ステップS401で得られた重要度の値が、画像を伝送した暗号通信コネクションに対応するSAに対してすでに対応づけた重要度の値より高いか否かを判定する。もし高ければ(ステップS402でYES)、ステップS403に進む。一方、もし低ければ(ステップS402でNO)、ステップS404に進む。
【0042】
ステップS403では、SA配置制御部115は、画像を伝送した暗号通信コネクションに対応するSAが第一SA記憶部116に記憶されているか否かを判定する。もし記憶されていれば(ステップS403でYES)ステップS404に進む。一方、もし記憶されていなければ(ステップS403でNO)、ステップS405に進む。
【0043】
ステップS404では、SA配置制御部115は、画像を伝送した暗号通信コネクションに対応するSAに対してすでに対応づけた重要度の値を、ステップS401で得られた重要度の値に更新する記憶処理を行う。
【0044】
ステップS405では、SA配置制御部115は、ステップS401で得られた重要度の値が、第一SA記憶部116に記憶されているSAに対応づけられている重要度の最低値より高いか否かを判定する。もしもし高ければ(ステップS405でYES)、ステップS404に進む。一方、もし低ければ(ステップS405でNO)、ステップS406に進む。
【0045】
ステップ406では、SA配置制御部115は、第一SA記憶部116に記憶されているSAのうち、当該SAに対応づけられている重要度が最低のSAを第二SA記憶部117に移動する記憶処理を行う。
【0046】
ステップ407では、SA配置制御部115は、画像を伝送した暗号通信コネクションに対応するSAを、ステップS401で得られた重要度の値と対応づけた上で第一SA記憶部116に配置する記憶処理を行う。
【0047】
また、図4の処理を、図2のハードウェア構成を用いて処理する場合は、図4の各処理は、CPU209の制御に基づいて実行される。このときCPU209はDMAC216を利用してもかまわない。また、第一SA記憶部116はSRAM211、第二SA記憶部117はDRAM212により実現するものとする。
【0048】
尚、本実施形態では、図4に示すSAの配置制御は、表示装置107が画像の重要度情報を受信する毎に実行するものとする。
【0049】
以上のように、表示装置107は、受信した画像の重要度に基づいてSAを第一SA記憶部116と第二SA記憶部117とに配置する。ここで、重要度の高い画像伝送に対応するSAを第一SA記憶部116に優先的に記憶することで、暗号通信コネクション数が増加した場合でも、重要度の高い画像伝送の通信速度を維持できる。
【0050】
<変形例>
図3のステップS302の判定において、上記実施形態では、所定の時間で判定を行っていたが、SAのライフタイムを考慮して、ステップS302を実行するたびに、所定の時間を変更してもよい。
【0051】
具体的には、所定の時間を、SAのライフタイムに応じて、ステップS302を実行するたびに定める。たとえば暗号通信コネクション確立直後は、重要度の値が一定しない傾向があるため、上記所定の時間を短く設定する。具体的にはSAのライフタイムが1時間のとき、10秒程度とする。一方ライフタイムが尽きる直前は、重要度の変化の有無にかかわらずSA更新に伴う重要度の送信とSAの配置とが行われるため、上記所定の時間を長く設定する。具体的にはSAのライフタイムが1時間のとき、1分〜5分程度とする。
【0052】
このように、撮像装置102がSAのライフタイムを考慮して重要度を送信することで、画像の重要度を必要十分な頻度で送信できる。
【0053】
(その他の実施形態)
また、本発明の構成要素は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、カメラ、複写機、ファクシミリ装置など)に適用しても良い。本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のデータ保存部、ROMなどを用いることが出来る。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部を行う。さらに、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるデータ保存部に書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。

【特許請求の範囲】
【請求項1】
暗号化された情報を送信装置から受信装置へ伝送するシステムであって、
前記送信装置は、
伝送する情報の重要度を判定する重要度判定手段と、
前記伝送する情報と前記重要度に関する重要度情報とを暗号化する暗号化手段と、
前記暗号化された情報を送信する送信手段と、
前記受信装置は、
前記暗号化された情報と重要度情報を受信する受信手段と、
前記暗号化された情報と重要度情報の復号化を行う復号化手段と、
前記暗号化された情報を復号する際に用いる情報を記憶する第一の記憶手段及び第二の記憶手段と、
前記重要度情報を用いて、前記復号する際に用いる情報を、前記第一の記憶手段に記憶するか、前記第二の記憶手段に記憶するかを制御する制御手段を有し、
前記第一の記憶手段は、前記第二の記憶手段より、高速に読み出すことができ、
前記制御手段は、重要度の高い情報に対応する前記復号する際に用いる情報を、前記第一の記憶手段を記憶するよう制御することを特徴とするシステム。
【請求項2】
前記暗号化手段は、前記重要度情報を送信してから予め定められた時間が経過したか、あるいは、前記重要度情報を送信してから予め定められた時間経過せず、かつ、重要度の値に大きな変化があった場合に、前記重要度を暗号化することを特徴とする請求項1に記載のシステム。
【請求項3】
前記復号する際に用いる情報は、セキュリティアソシエーションであることを特徴とする請求項1または請求項2に記載のシステム。
【請求項4】
暗号化された情報と重要度情報を受信する受信手段と、
前記暗号化された情報と重要度情報の復号化を行う復号化手段と、
前記暗号化された情報を復号する際に用いる情報を記憶する第一の記憶手段及び第二の記憶手段と、
前記重要度情報を用いて、前記復号する際に用いる情報を、前記第一の記憶手段に記憶するか、前記第二の記憶手段に記憶するかを制御する制御手段を有し、
前記第一の記憶手段は、前記第二の記憶手段より、高速に読み出すことができ、
前記制御手段は、重要度の高い情報に対応する前記復号する際に用いる情報を、前記第一の記憶手段を記憶するよう制御することを特徴とする暗号処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate